}
if $(PDCLIB_TOOLCHAIN) = "gcc" {
- # No -Wcast-align : spurious warnings when using char* to do pointer
- # arithmetic
- # No -Winline : when compiling with e.g. -Os causes spurious
- # warnings that call is unlikely/code size would grow
- # No -Wredundant-decls : some functions must be multiply defined
PDCLIB_WARNINGS ?=
-Wall -Wextra -pedantic -Wno-unused-parameter -Wshadow
-Wpointer-arith -Wwrite-strings -Wmissing-declarations -Wno-long-long
- -Wuninitialized
+ -Wuninitialized -Wno-deprecated-declarations -Wredundant-decls -Winline
+ -Wcast-align -Wno-format
;
PDCLIB_CCWARNINGS ?=
-Wnested-externs -Wstrict-prototypes -Wmissing-prototypes ;
#-nostdinc
-std=c11
-g
+ -ffunction-sections
+ -fdata-sections
-D_PDCLIB_BUILD
$(PDCLIB_WARNINGS) ;
PDCLIB_C++FLAGS =
#-nostdinc
-std=c++11
-g
+ -ffunction-sections
+ -fdata-sections
-D_PDCLIB_BUILD
$(PDCLIB_WARNINGS) ;
# $(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) $(NEEDLIBS) $(LINKLIBS)
#}
} else {
+ PDCLIB_TEST_LINKFLAGS += -Wl,--gc-sections ;
actions Link bind NEEDLIBS
{
$(LINK) $(LINKFLAGS) -o $(<) $(UNDEFS) $(>) -Wl,--start-group $(NEEDLIBS) $(LINKLIBS) -Wl,--end-group
Depends $(<) : $(_dir:G=dir) ;
MkDir $(_dir:G=dir) ;
}
-}
\ No newline at end of file
+}