diff options
author | dim <dim@FreeBSD.org> | 2012-02-28 18:30:18 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2012-02-28 18:30:18 +0000 |
commit | 0d1f91e8e1d46e491844d983927a0fbfc1c6b414 (patch) | |
tree | 3aa885ba7c336d9e6d260c5deb1228863b043b89 /sys/boot/i386/gptboot/Makefile | |
parent | 86b4719ed57cc44687bc6f6b1ea3786dce60a2d1 (diff) | |
download | FreeBSD-src-0d1f91e8e1d46e491844d983927a0fbfc1c6b414.zip FreeBSD-src-0d1f91e8e1d46e491844d983927a0fbfc1c6b414.tar.gz |
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
Diffstat (limited to 'sys/boot/i386/gptboot/Makefile')
-rw-r--r-- | sys/boot/i386/gptboot/Makefile | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/boot/i386/gptboot/Makefile b/sys/boot/i386/gptboot/Makefile index 48a6d59..e1a640a 100644 --- a/sys/boot/i386/gptboot/Makefile +++ b/sys/boot/i386/gptboot/Makefile @@ -36,11 +36,6 @@ CFLAGS= -DBOOTPROG=\"gptboot\" \ -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ -Winline --param max-inline-insns-single=100 -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+= ${.IMPSRC:T:Mgptldr.S:C/^.+$/-no-integrated-as/} -.endif - LDFLAGS=-static -N --gc-sections # Pick up ../Makefile.inc early. @@ -79,3 +74,7 @@ machine: .endif .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.gptldr.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} |