summaryrefslogtreecommitdiff
path: root/Rules.mak
diff options
context:
space:
mode:
authorRob Landley2006-07-31 22:56:17 +0000
committerRob Landley2006-07-31 22:56:17 +0000
commit533320c65944cdc9d3857312795b816282c48ba7 (patch)
treecb583738363d23755899b2c06aa9881befe1355f /Rules.mak
parent565bc33332e8e0719b2643aa85f3c82d0e0d077e (diff)
downloadbusybox-533320c65944cdc9d3857312795b816282c48ba7.zip
busybox-533320c65944cdc9d3857312795b816282c48ba7.tar.gz
1) ifeq is make syntax, #ifeq is a make comment.
2) The check_cc macros should probably all have the same number of arguments. 3) Move the -Werror into the gcc 4.0 on i386 test, because gcc 4.1 is broken and produces warnings for things that provably aren't incorrect. In other news it would be nice if our check_ld macro actually did something, and why does or makefile do all the check_cc calls, then call itself as if it's building out of tree, then do all the check_cc calls again?
Diffstat (limited to 'Rules.mak')
-rw-r--r--Rules.mak17
1 files changed, 10 insertions, 7 deletions
diff --git a/Rules.mak b/Rules.mak
index b7a91b6..866e555 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -166,16 +166,17 @@ LD_END_GROUP:= -Wl,--end-group
endif
CHECKED_LDFLAGS := $(call check_ld,$(LD),--warn-common,)
+#CHECKED_LDFLAGS := $(call check_ld,$(LD),-static-libgcc,)
# Pin CHECKED_CFLAGS with := so it's only evaluated once.
CHECKED_CFLAGS:=$(call check_cc,$(CC),-Wall,)
-CHECKED_CFLAGS+=$(call check_cc,$(HOSTCC),-Werror,)
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wstrict-prototypes,)
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wshadow,)
CHECKED_CFLAGS+=$(call check_cc,$(CC),-funsigned-char,)
CHECKED_CFLAGS+=$(call check_cc,$(CC),-mmax-stack-frame=256,)
-CHECKED_CFLAGS+=$(call check_cc,$(CC),-fno-builtin-strlen)
-CHECKED_CFLAGS+=$(call check_cc,$(CC),-finline-limit=0)
+CHECKED_CFLAGS+=$(call check_cc,$(CC),-fno-builtin-strlen,)
+CHECKED_CFLAGS+=$(call check_cc,$(CC),-finline-limit=0,)
+CHECKED_CFLAGS+=$(call check_cc,$(CC),-static-libgcc,)
# Preemptively pin this too.
PROG_CFLAGS:=
@@ -216,11 +217,13 @@ endif
ifeq ($(strip $(TARGET_ARCH)),i386)
OPTIMIZATION+=$(call check_cc,$(CC),-march=i386,)
# gcc-4.0 and older seem to benefit from these
-#ifneq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0)
+ifneq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0)
OPTIMIZATION+=$(call check_cc,$(CC),-mpreferred-stack-boundary=2,)
- OPTIMIZATION+=$(call check_cc,$(CC),-falign-functions=1 -falign-jumps=1 -falign-loops=1,\
- -malign-functions=0 -malign-jumps=0 -malign-loops=0)
-#endif # gcc-4.0 and older
+ OPTIMIZATION+=$(call check_cc,$(CC),-falign-functions=1 -falign-jumps=1 -falign-loops=1, -malign-functions=0 -malign-jumps=0 -malign-loops=0,)
+
+ # gcc 4.1 produces many broken, totally invalid warnings
+ CHECKED_CFLAGS+=$(call check_cc,$(CC),-Werror,)
+endif # gcc-4.0 and older
# gcc-4.1 and beyond seem to benefit from these
ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0)