summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorYann Gautier <yann.gautier@st.com>2018-12-10 18:00:26 +0100
committerYann Gautier <yann.gautier@st.com>2018-12-10 18:09:49 +0100
commite7c645b5206bc9fc3c5ac9089e3fd5b84d7ca216 (patch)
tree36e2e74b103568a2baf6da265754b191c2b8354b /Makefile
parent74203d268e5d74ccfce09c106209cadda8f50cb9 (diff)
Add the possibility to compile TF-A with more warnings
The list of warning is taken from kernel and also divided in 3. The option to activate that is W=x, with x=1, 2 or 3. Signed-off-by: Yann Gautier <yann.gautier@st.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile40
1 files changed, 39 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index eed7c7a8..5841345e 100644
--- a/Makefile
+++ b/Makefile
@@ -188,8 +188,46 @@ TF_CFLAGS_aarch64 += -mgeneral-regs-only -mstrict-align
ASFLAGS_aarch32 = $(march32-directive)
ASFLAGS_aarch64 = -march=armv8-a
+WARNING1 := -Wextra
+WARNING1 += -Wunused -Wno-unused-parameter
+WARNING1 += -Wmissing-declarations
+WARNING1 += -Wmissing-format-attribute
+WARNING1 += -Wmissing-prototypes
+WARNING1 += -Wold-style-definition
+WARNING1 += -Wunused-but-set-variable
+WARNING1 += -Wunused-const-variable
+
+WARNING2 := -Waggregate-return
+WARNING2 += -Wcast-align
+WARNING2 += -Wdisabled-optimization
+WARNING2 += -Wnested-externs
+WARNING2 += -Wshadow
+WARNING2 += -Wlogical-op
+WARNING2 += -Wmissing-field-initializers
+WARNING2 += -Wsign-compare
+WARNING2 += -Wmaybe-uninitialized
+
+WARNING3 := -Wbad-function-cast
+WARNING3 += -Wcast-qual
+WARNING3 += -Wconversion
+WARNING3 += -Wpacked
+WARNING3 += -Wpadded
+WARNING3 += -Wpointer-arith
+WARNING3 += -Wredundant-decls
+WARNING3 += -Wswitch-default
+WARNING3 += -Wpacked-bitfield-compat
+WARNING3 += -Wvla
+
+ifeq (${W},1)
+WARNINGS := $(WARNING1)
+else ifeq (${W},2)
+WARNINGS := $(WARNING1) $(WARNING2)
+else ifeq (${W},3)
+WARNINGS := $(WARNING1) $(WARNING2) $(WARNING3)
+endif
+
CPPFLAGS = ${DEFINES} ${INCLUDES} ${MBEDTLS_INC} -nostdinc \
- -Wmissing-include-dirs -Werror
+ -Wmissing-include-dirs -Werror $(WARNINGS)
ASFLAGS += $(CPPFLAGS) $(ASFLAGS_$(ARCH)) \
-D__ASSEMBLY__ -ffreestanding \
-Wa,--fatal-warnings