diff options
author | rpaulo <rpaulo@FreeBSD.org> | 2010-08-17 20:39:28 +0000 |
---|---|---|
committer | rpaulo <rpaulo@FreeBSD.org> | 2010-08-17 20:39:28 +0000 |
commit | f63ab9228e0818135be1431b017306e2062147ae (patch) | |
tree | e9956831a046982571c4a2200db030fbab894a73 | |
parent | b449f3828322f9f90a73e893ab857f0773d9832c (diff) | |
download | FreeBSD-src-f63ab9228e0818135be1431b017306e2062147ae.zip FreeBSD-src-f63ab9228e0818135be1431b017306e2062147ae.tar.gz |
For every instance of '.if ${CC} == "foo"' or '.if ${CC} != "foo"' in
Makefiles or *.mk files, use ${CC:T:Mfoo} instead, so only the basename
of the compiler command (excluding any arguments) is considered.
This allows you to use, for example, CC="/nondefault/path/clang -xxx",
and still have the various tests in bsd.*.mk identify your compiler as
clang correctly.
ICC if cases were also changed.
Submitted by: Dimitry Andric <dimitry at andric.com>
-rw-r--r-- | share/mk/bsd.dep.mk | 2 | ||||
-rw-r--r-- | share/mk/bsd.lib.mk | 2 | ||||
-rw-r--r-- | share/mk/bsd.sys.mk | 6 | ||||
-rw-r--r-- | sys/conf/kern.mk | 12 | ||||
-rw-r--r-- | sys/conf/kern.pre.mk | 10 | ||||
-rw-r--r-- | sys/conf/kmod.mk | 8 | ||||
-rw-r--r-- | sys/dev/aic7xxx/aicasm/Makefile | 2 | ||||
-rw-r--r-- | sys/i386/acpica/Makefile | 2 |
8 files changed, 22 insertions, 22 deletions
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk index a683a09..7921ea7 100644 --- a/share/mk/bsd.dep.mk +++ b/share/mk/bsd.dep.mk @@ -125,7 +125,7 @@ depend: beforedepend ${DEPENDFILE} afterdepend # Different types of sources are compiled with slightly different flags. # Split up the sources, and filter out headers and non-applicable flags. -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" MKDEP_CFLAGS= ${CFLAGS:M-X*} ${CFLAGS:M-[BIDU]*} MKDEP_CXXFLAGS= ${CXXFLAGS:M-X*} ${CXXFLAGS:M-[BIDU]*} MKDEP_OBJCFLAGS=${OBJCFLAGS:M-X*} ${OBJCFLAGS:M-[BIDU]*} diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 80c4264..94d918b 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -65,7 +65,7 @@ PICFLAG=-fpic .endif .endif -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" PO_FLAG=-p .else PO_FLAG=-pg diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 97860f2..3559a267 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -11,7 +11,7 @@ # the default is gnu99 for now CSTD ?= gnu99 -.if ${CC} != "icc" +.if ${CC:T:Micc} != "icc" . if ${CSTD} == "k&r" CFLAGS += -traditional . elif ${CSTD} == "c89" || ${CSTD} == "c90" @@ -24,7 +24,7 @@ CFLAGS += -std=iso9899:1999 CFLAGS += -std=${CSTD} . endif .endif -.if !defined(NO_WARNS) && ${CC} != "icc" +.if !defined(NO_WARNS) && ${CC:T:Micc} != "icc" # -pedantic is problematic because it also imposes namespace restrictions #CFLAGS += -pedantic . if defined(WARNS) @@ -79,7 +79,7 @@ CWARNFLAGS += -Werror CWARNFLAGS += -Wno-unknown-pragmas .endif -.if ${MK_SSP} != "no" && ${CC} != "icc" && ${MACHINE_ARCH} != "ia64" && \ +.if ${MK_SSP} != "no" && ${CC:T:Micc} != "icc" && ${MACHINE_ARCH} != "ia64" && \ ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips" # Don't use -Wstack-protector as it breaks world with -Werror. SSP_CFLAGS ?= -fstack-protector diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 5676057..32b7168 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -6,7 +6,7 @@ # Note that the newly added -Wcast-qual is responsible for generating # most of the remaining warnings. Warnings introduced with -Wall will # also pop up, but are easier to fix. -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" #CWARNFLAGS= -w2 # use this if you are terribly bored CWARNFLAGS= .else @@ -29,8 +29,8 @@ CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ # operations inside the kernel itself. These operations are exclusively # reserved for user applications. # -.if ${MACHINE_ARCH} == "i386" && ${CC} != "icc" -.if ${CC} != "clang" +.if ${MACHINE_ARCH} == "i386" && ${CC:T:Micc} != "icc" +.if ${CC:T:Mclang} != "clang" CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2 .endif CFLAGS+= -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 @@ -93,20 +93,20 @@ INLINE_LIMIT?= 8000 # GCC 3.0 and above like to do certain optimizations based on the # assumption that the program is linked against libc. Stop this. # -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" CFLAGS+= -nolib_inline .else CFLAGS+= -ffreestanding .endif -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" CFLAGS+= -restrict .endif # # GCC SSP support. # -.if ${MK_SSP} != "no" && ${CC} != "icc" && ${MACHINE_ARCH} != "ia64" && \ +.if ${MK_SSP} != "no" && ${CC:T:Micc} != "icc" && ${MACHINE_ARCH} != "ia64" && \ ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips" CFLAGS+= -fstack-protector .endif diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index 7642fca..b61113e 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -23,7 +23,7 @@ NM?= nm OBJCOPY?= objcopy SIZE?= size -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" COPTFLAGS?= -O .else . if defined(DEBUG) @@ -48,7 +48,7 @@ COPTFLAGS+= ${_ICC_CPUCFLAGS:C/(-x[^M^K^W]+)[MKW]+|-x[MKW]+/\1/} COPTFLAGS+= ${_CPUCFLAGS} . endif .endif -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" C_DIALECT= NOSTDINC= -X .else @@ -92,8 +92,8 @@ INCLUDES+= -I$S/dev/cxgb CFLAGS= ${COPTFLAGS} ${C_DIALECT} ${DEBUG} ${CWARNFLAGS} CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -.if ${CC} != "icc" -.if ${CC} != "clang" +.if ${CC:T:Micc} != "icc" +.if ${CC:T:Mclang} != "clang" CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT} .if ${MACHINE_CPUARCH} != "mips" CFLAGS+= --param inline-unit-growth=100 @@ -111,7 +111,7 @@ WERROR?= -Werror ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} .if defined(PROFLEVEL) && ${PROFLEVEL} >= 1 -.if ${CC} == "icc" || ${CC} == "clang" +.if ${CC:T:Micc} == "icc" || ${CC:T:Mclang} == "clang" .error "Profiling doesn't work with icc or clang yet" .endif CFLAGS+= -DGPROF -falign-functions=16 diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 7642520..63f4748 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -81,7 +81,7 @@ OBJCOPY?= objcopy .SUFFIXES: .out .o .c .cc .cxx .C .y .l .s .S -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" CFLAGS:= ${CFLAGS:C/(-x[^M^K^W]+)[MKW]+|-x[MKW]+/\1/} .else . if !empty(CFLAGS:M-O[23s]) && empty(CFLAGS:M-fno-strict-aliasing) @@ -94,7 +94,7 @@ CFLAGS+= -D_KERNEL CFLAGS+= -DKLD_MODULE # Don't use any standard or source-relative include directories. -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" NOSTDINC= -X .else CSTD= c99 @@ -114,7 +114,7 @@ CFLAGS+= -I. -I@ # for example. CFLAGS+= -I@/contrib/altq -.if ${CC} != "icc" && ${CC} != "clang" +.if ${CC:T:Micc} != "icc" && ${CC:T:Mclang} != "clang" CFLAGS+= -finline-limit=${INLINE_LIMIT} CFLAGS+= --param inline-unit-growth=100 CFLAGS+= --param large-function-growth=1000 @@ -122,7 +122,7 @@ CFLAGS+= --param large-function-growth=1000 # Disallow common variables, and if we end up with commons from # somewhere unexpected, allocate storage for them in the module itself. -.if ${CC} != "icc" +.if ${CC:T:Micc} != "icc" CFLAGS+= -fno-common .endif LDFLAGS+= -d -warn-common diff --git a/sys/dev/aic7xxx/aicasm/Makefile b/sys/dev/aic7xxx/aicasm/Makefile index 9c73493..c077285 100644 --- a/sys/dev/aic7xxx/aicasm/Makefile +++ b/sys/dev/aic7xxx/aicasm/Makefile @@ -24,7 +24,7 @@ WARNS?= 5 DEPENDFILE= .depend_aicasm .endif -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" CFLAGS+= -restrict NOSTDINC= -X .else diff --git a/sys/i386/acpica/Makefile b/sys/i386/acpica/Makefile index 48d65ea..87061d6 100644 --- a/sys/i386/acpica/Makefile +++ b/sys/i386/acpica/Makefile @@ -9,7 +9,7 @@ DEPENDFILE= MAKESRCPATH= ${.CURDIR} CLEANFILES= acpi_wakecode.h acpi_wakecode.bin acpi_wakecode.o .endif -.if ${CC} == "icc" +.if ${CC:T:Micc} == "icc" CFLAGS+= -restrict NOSTDINC= -X .else |