Blame view

lufa-master/BuildTests/ModuleTest/makefile.test 2.48 KB
142ecdaf   rguillom   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
  #
  #             LUFA Library
  #     Copyright (C) Dean Camera, 2019.
  #
  #  dean [at] fourwalledcubicle [dot] com
  #           www.lufa-lib.org
  #
  # --------------------------------------
  #         LUFA Project Makefile.
  # --------------------------------------
  
  # Run "make help" for target help.
  
  MCU          =
  ARCH         =
  BOARD        = NONE
  F_CPU        = $(F_USB)
  OPTIMIZATION = 1
  TARGET       = Test
  SRC          = $(TARGET)_C.c $(TARGET)_CPP.cpp Dummy.S $(LUFA_SRC_USB)
  LUFA_PATH    = ../../LUFA
  DEBUG_LEVEL  = 0
  
  ifeq ($(ARCH), AVR8)
    F_USB        = 8000000
  else ifeq ($(ARCH), XMEGA)
    F_USB        = 48000000
  else ifeq ($(ARCH), UC3)
    F_USB        = 48000000
  endif
  
  # Generic C/C++ compiler flags
  CC_FLAGS  = -Wextra
  CC_FLAGS += -Werror
  CC_FLAGS += -Wformat=2
  CC_FLAGS += -Winit-self
  CC_FLAGS += -Wswitch-enum
  CC_FLAGS += -Wunused
  CC_FLAGS += -Wundef
  CC_FLAGS += -Wpointer-arith
  CC_FLAGS += -Wcast-align
  CC_FLAGS += -Wwrite-strings
  CC_FLAGS += -Wlogical-op
  CC_FLAGS += -Wmissing-declarations
  CC_FLAGS += -Wmissing-field-initializers
  CC_FLAGS += -Wmissing-format-attribute
  CC_FLAGS += -Woverlength-strings
  CC_FLAGS += -Wswitch-default
  CC_FLAGS += -Wfloat-equal
  CC_FLAGS += -Waggregate-return
  CC_FLAGS += -Wmissing-include-dirs
  
  # Disable warnings not supported by the version of GCC used for UC3 targets (FIXME)
  ifneq ($(ARCH), UC3)
    CC_FLAGS += -Wdouble-promotion
  endif
  
  # Only enable redundant declaration warnings for AVR8 target (FIXME)
  ifeq ($(ARCH), AVR8)
    CC_FLAGS += -Wredundant-decls
  endif
  
  # C compiler only flags
  C_FLAGS += -Wmissing-parameter-type
  C_FLAGS += -Wmissing-prototypes
  C_FLAGS += -Wnested-externs
  C_FLAGS += -Wbad-function-cast
  C_FLAGS += -Wstrict-prototypes
  C_FLAGS += -Wold-style-definition
  
  # Disable warnings not supported by the version of GCC used for UC3 targets (FIXME)
  ifneq ($(ARCH), UC3)
    C_FLAGS += -Wunsuffixed-float-constants
    C_FLAGS += -Wjump-misses-init
  endif
  
  # Only check C++ compatibility on the build files, to ensure headers are C++ compatible
  Test_C.c Test_CPP.cpp: CC_FLAGS += -Wc++-compat
  
  # Potential additional warnings to enable in the future (FIXME)
  #CC_FLAGS += -Wcast-qual
  #CC_FLAGS += -Wconversion
  #CC_FLAGS += -Wsign-conversion
  #CC_FLAGS += -pedantic
  
  # Include LUFA-specific DMBS extension modules
  DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
  include $(DMBS_LUFA_PATH)/lufa-sources.mk
  include $(DMBS_LUFA_PATH)/lufa-gcc.mk
  
  # Include common DMBS build system modules
  DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
  include $(DMBS_PATH)/core.mk
  include $(DMBS_PATH)/gcc.mk