3 # Copyright (C) Dean Camera, 2013.
5 # dean [at] fourwalledcubicle [dot] com
8 # --------------------------------------
9 # LUFA Project Makefile.
10 # --------------------------------------
12 # Run "make help" for target help.
20 SRC = $(TARGET)_C.c $(TARGET)_CPP.cpp Dummy.S $(LUFA_SRC_USB)
21 LUFA_PATH = ../../LUFA
26 else ifeq ($(ARCH), XMEGA)
28 else ifeq ($(ARCH), UC3)
32 # Generic C/C++ compiler flags
35 CC_FLAGS += -Wformat=2
36 CC_FLAGS += -Winit-self
37 CC_FLAGS += -Wswitch-enum
40 CC_FLAGS += -Wpointer-arith
41 CC_FLAGS += -Wcast-align
42 CC_FLAGS += -Wwrite-strings
43 CC_FLAGS += -Wlogical-op
44 CC_FLAGS += -Wmissing-declarations
45 CC_FLAGS += -Wmissing-field-initializers
46 CC_FLAGS += -Wmissing-format-attribute
47 CC_FLAGS += -Woverlength-strings
48 CC_FLAGS += -Wswitch-default
49 CC_FLAGS += -Wfloat-equal
50 CC_FLAGS += -Waggregate-return
51 CC_FLAGS += -Wmissing-include-dirs
53 # Disable warnings not supported by the version of GCC used for UC3 targets (FIXME)
55 CC_FLAGS += -Wdouble-promotion
58 # Only enable redundant declaration warnings for AVR8 target (FIXME)
60 CC_FLAGS += -Wredundant-decls
63 # C compiler only flags
64 C_FLAGS += -Wmissing-parameter-type
65 C_FLAGS += -Wmissing-prototypes
66 C_FLAGS += -Wnested-externs
67 C_FLAGS += -Wbad-function-cast
68 C_FLAGS += -Wstrict-prototypes
69 C_FLAGS += -Wold-style-definition
71 # Disable warnings not supported by the version of GCC used for UC3 targets (FIXME)
73 C_FLAGS += -Wunsuffixed-float-constants
74 C_FLAGS += -Wjump-misses-init
77 # Only check C++ compatibility on the build files, to ensure headers are C++ compatible
78 Test_C.c Test_CPP.c: CC_FLAGS += -Wc++-compat
80 # Potential additional warnings to enable in the future (FIXME)
81 #CC_FLAGS += -Wcast-qual
82 #CC_FLAGS += -Wconversion
83 #CC_FLAGS += -Wsign-conversion
84 #CC_FLAGS += -pedantic
86 # Include LUFA build script makefiles
87 include $(LUFA_PATH)/Build/lufa_sources.mk
88 include $(LUFA_PATH)/Build/lufa_build.mk