summaryrefslogtreecommitdiffstats
path: root/sys/boot/i386/boot2/Makefile
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2012-02-28 18:30:18 +0000
committerdim <dim@FreeBSD.org>2012-02-28 18:30:18 +0000
commit0d1f91e8e1d46e491844d983927a0fbfc1c6b414 (patch)
tree3aa885ba7c336d9e6d260c5deb1228863b043b89 /sys/boot/i386/boot2/Makefile
parent86b4719ed57cc44687bc6f6b1ea3786dce60a2d1 (diff)
downloadFreeBSD-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/boot2/Makefile')
-rw-r--r--sys/boot/i386/boot2/Makefile16
1 files changed, 6 insertions, 10 deletions
diff --git a/sys/boot/i386/boot2/Makefile b/sys/boot/i386/boot2/Makefile
index e2fc534..68e49ed 100644
--- a/sys/boot/i386/boot2/Makefile
+++ b/sys/boot/i386/boot2/Makefile
@@ -40,14 +40,8 @@ CFLAGS= -Os \
-Wall -Waggregate-return -Wbad-function-cast -Wcast-align \
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs \
-Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \
- -Winline --param max-inline-insns-single=100
-
-.if ${CC:T:Mclang} == "clang"
-CFLAGS+= -mllvm -stack-alignment=8 -mllvm -inline-threshold=3 \
- -mllvm -enable-load-pre=false
-# XXX: clang integrated-as doesn't grok .codeNN directives yet
-CFLAGS+= ${.IMPSRC:T:Mboot1.S:C/^.+$/-no-integrated-as/}
-.endif
+ -Winline --param max-inline-insns-single=100 \
+ ${CLANG_OPT_SMALL}
LDFLAGS=-static -N --gc-sections
@@ -89,9 +83,7 @@ boot2.out: ${BTXCRT} boot2.o sio.o
${LD} ${LDFLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC}
boot2.o: boot2.s
-.if ${CC:T:Mclang} == "clang"
${CC} ${ACFLAGS} -c boot2.s
-.endif
SRCS= boot2.c boot2.h
@@ -115,3 +107,7 @@ machine:
.endif
.include <bsd.prog.mk>
+
+# XXX: clang integrated-as doesn't grok .codeNN directives yet
+CFLAGS.boot1.S= ${CLANG_NO_IAS}
+CFLAGS+= ${CFLAGS.${.IMPSRC:T}}
OpenPOWER on IntegriCloud