freebsd-dev/sys/conf/Makefile.amd64
Dimitry Andric 07b202a847 Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to
get rid of testing explicitly for clang (using ${CC:T:Mclang}) in
individual Makefiles.

Instead, use the following extra macros, for use with clang:
- NO_WERROR.clang       (disables -Werror)
- NO_WCAST_ALIGN.clang  (disables -Wcast-align)
- NO_WFORMAT.clang	(disables -Wformat and friends)
- CLANG_NO_IAS		(disables integrated assembler)
- CLANG_OPT_SMALL	(adds flags for extra small size optimizations)

As a side effect, this enables setting CC/CXX/CPP in src.conf instead of
make.conf!  For clang, use the following:

CC=clang
CXX=clang++
CPP=clang-cpp

MFC after:	2 weeks
2012-02-28 18:30:18 +00:00

65 lines
1.4 KiB
Makefile

# Makefile.amd64 -- with config changes.
# Copyright 1990 W. Jolitz
# from: @(#)Makefile.i386 7.1 5/10/91
# from FreeBSD: src/sys/conf/Makefile.i386,v 1.255 2002/02/20 23:35:49
# $FreeBSD$
#
# Makefile for FreeBSD
#
# This makefile is constructed from a machine description:
# config machineid
# Most changes should be made in the machine description
# /sys/amd64/conf/``machineid''
# after which you should do
# config machineid
# Generic makefile changes should be made in
# /sys/conf/Makefile.amd64
# after which config should be rerun for all machines.
#
# Which version of config(8) is required.
%VERSREQ= 600004
STD8X16FONT?= iso
.if !defined(S)
.if exists(./@/.)
S= ./@
.else
S= ../../..
.endif
.endif
.include "$S/conf/kern.pre.mk"
DDB_ENABLED!= grep DDB opt_ddb.h || true
DTR_ENABLED!= grep KDTRACE_FRAME opt_kdtrace.h || true
HWPMC_ENABLED!= grep HWPMC opt_hwpmc_hooks.h || true
.if !empty(DDB_ENABLED) || !empty(DTR_ENABLED) || !empty(HWPMC_ENABLED)
CFLAGS+= -fno-omit-frame-pointer
.endif
MKMODULESENV+= MACHINE=amd64
# XXX: clang integrated-as doesn't grok .codeNN directives yet
ASM_CFLAGS.acpi_wakecode.S= ${CLANG_NO_IAS}
ASM_CFLAGS.ia32_sigtramp.S= ${CLANG_NO_IAS}
ASM_CFLAGS.linux32_locore.s= ${CLANG_NO_IAS}
ASM_CFLAGS.mpboot.S= ${CLANG_NO_IAS}
ASM_CFLAGS+= ${ASM_CFLAGS.${.IMPSRC:T}}
%BEFORE_DEPEND
%OBJS
%FILES.c
%FILES.s
%FILES.m
%CLEAN
%RULES
.include "$S/conf/kern.post.mk"