23 |
CFLAGS += $(call cc-option,-Wundef,) |
CFLAGS += $(call cc-option,-Wundef,) |
24 |
CFLAGS += $(call cc-option,-Wstrict-prototypes,) |
CFLAGS += $(call cc-option,-Wstrict-prototypes,) |
25 |
CFLAGS += $(call cc-option,-Wunused -Wunused-parameter,) |
CFLAGS += $(call cc-option,-Wunused -Wunused-parameter,) |
26 |
|
CFLAGS += $(call cc-option,-Wunused-function -Wunused-value,) |
27 |
CFLAGS += $(call cc-option,-Wmissing-prototypes -Wmissing-declarations,) |
CFLAGS += $(call cc-option,-Wmissing-prototypes -Wmissing-declarations,) |
28 |
# warn about C99 declaration after statement |
# warn about C99 declaration after statement |
29 |
CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) |
CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) |
32 |
|
|
33 |
ifeq ($(CONFIG_WERROR),y) |
ifeq ($(CONFIG_WERROR),y) |
34 |
CFLAGS += $(call cc-option,-Werror,) |
CFLAGS += $(call cc-option,-Werror,) |
35 |
|
## TODO: |
36 |
|
## gcc version 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC) is a PITA: |
37 |
|
## const char *ptr; ... off_t v = *(off_t*)ptr; -> BOOM |
38 |
|
## and no easy way to convince it to shut the hell up. |
39 |
|
## We have a lot of such things all over the place. |
40 |
|
## Classic *(off_t*)(void*)ptr does not work, |
41 |
|
## and I am unwilling to do crazy gcc specific ({ void *ppp = ...; }) |
42 |
|
## stuff in macros. This would obfuscate the code too much. |
43 |
|
#CFLAGS += $(call cc-ifversion, -eq, 0404, -fno-strict-aliasing) |
44 |
endif |
endif |
45 |
# gcc 3.x emits bogus "old style proto" warning on find.c:alloc_action() |
# gcc 3.x emits bogus "old style proto" warning on find.c:alloc_action() |
46 |
CFLAGS += $(call cc-ifversion, -ge, 0400, -Wold-style-definition) |
CFLAGS += $(call cc-ifversion, -ge, 0400, -Wold-style-definition) |
91 |
CFLAGS += $(ARCH_FPIE) |
CFLAGS += $(ARCH_FPIE) |
92 |
endif |
endif |
93 |
|
|
94 |
|
ifneq ($(CONFIG_EXTRA_CFLAGS),) |
95 |
|
CFLAGS += $(strip $(subst ",,$(CONFIG_EXTRA_CFLAGS))) |
96 |
|
#")) |
97 |
|
endif |
98 |
|
|
99 |
LDLIBS += m crypt |
LDLIBS += m crypt |
100 |
|
|
101 |
ifeq ($(CONFIG_PAM),y) |
ifeq ($(CONFIG_PAM),y) |
114 |
LDLIBS += dmalloc |
LDLIBS += dmalloc |
115 |
endif |
endif |
116 |
|
|
117 |
# If a flat binary should be built, CFLAGS_busybox="-Wl,-elf2flt" |
# If a flat binary should be built, CFLAGS_busybox="-elf2flt" |
118 |
# env var should be set for make invocation. |
# env var should be set for make invocation. |
119 |
# Here we check whether CFLAGS_busybox indeed contains that flag. |
# Here we check whether CFLAGS_busybox indeed contains that flag. |
120 |
# (For historical reasons, we also check LDFLAGS, which doesn't |
# (For historical reasons, we also check LDFLAGS, which doesn't |
121 |
# seem to be entirely correct variable to put "-Wl,-elf2flt" into). |
# seem to be entirely correct variable to put "-elf2flt" into). |
122 |
W_ELF2FLT = -Wl,-elf2flt |
W_ELF2FLT = -elf2flt |
123 |
ifneq (,$(findstring $(W_ELF2FLT),$(LDFLAGS) $(CFLAGS_busybox))) |
ifneq (,$(findstring $(W_ELF2FLT),$(LDFLAGS) $(CFLAGS_busybox))) |
124 |
SKIP_STRIP = y |
SKIP_STRIP = y |
125 |
endif |
endif |