diff --git a/binutils/Makefile b/binutils/Makefile index c58d2af29..89a79c774 100644 --- a/binutils/Makefile +++ b/binutils/Makefile @@ -24,7 +24,6 @@ LOCALEDIR=/usr/share/locale MANPAGES=aa-enabled.1 aa-exec.1 aa-status.8 WARNINGS = -Wall -EXTRA_WARNINGS = -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter CPP_WARNINGS = ifndef CFLAGS CFLAGS = -g -O2 -pipe diff --git a/changehat/mod_apparmor/Makefile b/changehat/mod_apparmor/Makefile index 06723c51d..df1f5e92f 100644 --- a/changehat/mod_apparmor/Makefile +++ b/changehat/mod_apparmor/Makefile @@ -70,7 +70,7 @@ libapparmor by adding USE_SYSTEM=1 to your make command.${nl}\ LDLIBS = -lapparmor endif -APXS_CFLAGS="-Wc,-Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter" +APXS_CFLAGS="-Wc,$(EXTRA_WARNINGS)" .PHONY: libapparmor_check .SILENT: libapparmor_check diff --git a/changehat/pam_apparmor/Makefile b/changehat/pam_apparmor/Makefile index 9e600514f..f6ece2d10 100644 --- a/changehat/pam_apparmor/Makefile +++ b/changehat/pam_apparmor/Makefile @@ -54,7 +54,7 @@ libapparmor by adding USE_SYSTEM=1 to your make command.${nl}\ AA_LINK_FLAGS = -L$(LIBAPPARMOR_PATH) AA_LDLIBS = -lapparmor endif -EXTRA_CFLAGS=$(CFLAGS) $(CPPFLAGS) -fPIC -shared -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter $(LIBAPPARMOR_INCLUDE) +EXTRA_CFLAGS=$(CFLAGS) $(CPPFLAGS) -fPIC -shared -Wall $(EXTRA_WARNINGS) $(LIBAPPARMOR_INCLUDE) LINK_FLAGS=-Xlinker -x $(AA_LINK_FLAGS) $(LDFLAGS) LIBS=-lpam $(AA_LDLIBS) OBJECTS=${NAME}.o get_options.o diff --git a/common/Make.rules b/common/Make.rules index 34e839995..6dcc1c2c2 100644 --- a/common/Make.rules +++ b/common/Make.rules @@ -57,6 +57,18 @@ endif #Helper function to be used with $(call pyalldo, run_test_with_all.py) pyalldo=set -e; $(foreach py, $(PYTHON_VERSIONS), $(py) $(1);) +# Common set of compiler warnings +_EXTRA_WARNINGS = -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter +EXTRA_WARNINGS := $(shell for warning in ${_EXTRA_WARNINGS} ; do \ + if ${CC} $${warning} -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then \ + echo "$${warning}"; \ + else \ + echo "***" >&2 ; \ + echo "WARNING: unable to use $${warning} with ${CC}, dropping" >&2 ; \ + echo "***" >&2 ; \ + fi ; \ + done) + .PHONY: version .SILENT: version version: diff --git a/libraries/libapparmor/src/Makefile.am b/libraries/libapparmor/src/Makefile.am index ff8ddf218..888b399fc 100644 --- a/libraries/libapparmor/src/Makefile.am +++ b/libraries/libapparmor/src/Makefile.am @@ -32,10 +32,13 @@ AA_LIB_AGE = 6 SUFFIXES = .pc.in .pc +COMMONDIR=$(top_srcdir)/../../common/ +include $(COMMONDIR)/Make.rules + BUILT_SOURCES = grammar.h scanner.h af_protos.h AM_LFLAGS = -v AM_YFLAGS = -d -p aalogparse_ -AM_CFLAGS = -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -fPIC +AM_CFLAGS = -Wall $(EXTRA_WARNINGS) -fPIC AM_CPPFLAGS = -D_GNU_SOURCE -I$(top_srcdir)/include/ scanner.h: scanner.l $(LEX) -v $< diff --git a/libraries/libapparmor/swig/python/Makefile.am b/libraries/libapparmor/swig/python/Makefile.am index 6c60181e8..ab3cf7b11 100644 --- a/libraries/libapparmor/swig/python/Makefile.am +++ b/libraries/libapparmor/swig/python/Makefile.am @@ -1,5 +1,8 @@ if HAVE_PYTHON +COMMONDIR = $(top_srcdir)/../../common/ +include $(COMMONDIR)/Make.rules + EXTRA_DIST = libapparmor_wrap.c SUBDIRS = test @@ -11,7 +14,7 @@ MOSTLYCLEANFILES=libapparmor_wrap.c LibAppArmor.py all-local: libapparmor_wrap.c setup.py if test ! -f libapparmor_wrap.c; then cp $(srcdir)/libapparmor_wrap.c . ; fi - CC="$(CC)" CFLAGS="$(PYTHON_CPPFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(PYTHON_LDFLAGS)" $(PYTHON) setup.py build + CC="$(CC)" CFLAGS="$(PYTHON_CPPFLAGS) $(EXTRA_WARNINGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(PYTHON_LDFLAGS)" $(PYTHON) setup.py build install-exec-local: $(PYTHON) setup.py install --root="/$(DESTDIR)" --prefix="$(prefix)" diff --git a/libraries/libapparmor/testsuite/Makefile.am b/libraries/libapparmor/testsuite/Makefile.am index 55dcb686b..6a00e9749 100644 --- a/libraries/libapparmor/testsuite/Makefile.am +++ b/libraries/libapparmor/testsuite/Makefile.am @@ -2,6 +2,9 @@ SUBDIRS = lib config libaalogparse.test PACKAGE = libaalogparse AUTOMAKE_OPTIONS = dejagnu +COMMONDIR=$(top_srcdir)/../../common +include $(COMMONDIR)/Make.rules + INCLUDES = -I. -I$(top_srcdir)/include AM_CPPFLAGS = $(DEBUG_FLAGS) -DLOCALEDIR=\"${localedir}\" @@ -10,7 +13,7 @@ AM_CFLAGS = -Wall noinst_PROGRAMS = test_multi.multi test_multi_multi_SOURCES = test_multi.c -test_multi_multi_CFLAGS = -Wall +test_multi_multi_CFLAGS = -Wall $(EXTRA_WARNINGS) test_multi_multi_LDADD = -L../src/.libs -lapparmor clean-local: diff --git a/parser/Makefile b/parser/Makefile index c7685bf4c..2866b21fa 100644 --- a/parser/Makefile +++ b/parser/Makefile @@ -37,12 +37,7 @@ YFLAGS := -d LEX := flex LEXFLAGS = -B -v WARNINGS = -Wall -EXTRA_WARNINGS = -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -CXX_WARNINGS = ${WARNINGS} $(shell for warning in ${EXTRA_WARNINGS} ; do \ - if ${CXX} $${warning} -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then \ - echo "$${warning}"; \ - fi ; \ - done) +CXX_WARNINGS = ${WARNINGS} ${EXTRA_WARNINGS} CPP_WARNINGS = ifndef CFLAGS CFLAGS = -g -O2 -pipe diff --git a/tests/regression/apparmor/Makefile b/tests/regression/apparmor/Makefile index 8e9f7a743..94b42829a 100644 --- a/tests/regression/apparmor/Makefile +++ b/tests/regression/apparmor/Makefile @@ -67,7 +67,7 @@ system aa-exec by adding USE_SYSTEM=1 to your make command.${nl}\ LDLIBS += -Wl,-Bstatic -lapparmor -Wl,-Bdynamic -lpthread endif # USE_SYSTEM -CFLAGS += -g -O0 -Wall -Wstrict-prototypes -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter +CFLAGS += -g -O0 $(EXTRA_WARNINGS) SRC=access.c \ at_secure.c \