aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/demos/STM32/CMSIS-STM32F407-DISCOVERY/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/demos/STM32/CMSIS-STM32F407-DISCOVERY/Makefile')
-rw-r--r--lib/chibios/demos/STM32/CMSIS-STM32F407-DISCOVERY/Makefile190
1 files changed, 190 insertions, 0 deletions
diff --git a/lib/chibios/demos/STM32/CMSIS-STM32F407-DISCOVERY/Makefile b/lib/chibios/demos/STM32/CMSIS-STM32F407-DISCOVERY/Makefile
new file mode 100644
index 000000000..2840504c8
--- /dev/null
+++ b/lib/chibios/demos/STM32/CMSIS-STM32F407-DISCOVERY/Makefile
@@ -0,0 +1,190 @@
1##############################################################################
2# Build global options
3# NOTE: Can be overridden externally.
4#
5
6# Compiler options here.
7ifeq ($(USE_OPT),)
8 USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
9endif
10
11# C specific options here (added to USE_OPT).
12ifeq ($(USE_COPT),)
13 USE_COPT =
14endif
15
16# C++ specific options here (added to USE_OPT).
17ifeq ($(USE_CPPOPT),)
18 USE_CPPOPT = -fno-rtti
19endif
20
21# Enable this if you want the linker to remove unused code and data.
22ifeq ($(USE_LINK_GC),)
23 USE_LINK_GC = yes
24endif
25
26# Linker extra options here.
27ifeq ($(USE_LDOPT),)
28 USE_LDOPT =
29endif
30
31# Enable this if you want link time optimizations (LTO).
32ifeq ($(USE_LTO),)
33 USE_LTO = yes
34endif
35
36# Enable this if you want to see the full log while compiling.
37ifeq ($(USE_VERBOSE_COMPILE),)
38 USE_VERBOSE_COMPILE = no
39endif
40
41# If enabled, this option makes the build process faster by not compiling
42# modules not used in the current configuration.
43ifeq ($(USE_SMART_BUILD),)
44 USE_SMART_BUILD = yes
45endif
46
47#
48# Build global options
49##############################################################################
50
51##############################################################################
52# Architecture or project specific options
53#
54
55# Stack size to be allocated to the Cortex-M process stack. This stack is
56# the stack used by the main() thread.
57ifeq ($(USE_PROCESS_STACKSIZE),)
58 USE_PROCESS_STACKSIZE = 0x400
59endif
60
61# Stack size to the allocated to the Cortex-M main/exceptions stack. This
62# stack is used for processing interrupts and exceptions.
63ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
64 USE_EXCEPTIONS_STACKSIZE = 0x400
65endif
66
67# Enables the use of FPU (no, softfp, hard).
68ifeq ($(USE_FPU),)
69 USE_FPU = no
70endif
71
72# FPU-related options.
73ifeq ($(USE_FPU_OPT),)
74 USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
75endif
76
77#
78# Architecture or project specific options
79##############################################################################
80
81##############################################################################
82# Project, target, sources and paths
83#
84
85# Define project name here
86PROJECT = ch
87
88# Target settings.
89MCU = cortex-m4
90
91# Imported source files and paths.
92CHIBIOS := ../../..
93CONFDIR := ./cfg
94BUILDDIR := ./build
95DEPDIR := ./.dep
96
97# Licensing files.
98include $(CHIBIOS)/os/license/license.mk
99# Startup files.
100include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
101# HAL-OSAL files (optional).
102include $(CHIBIOS)/os/hal/hal.mk
103include $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/platform.mk
104include $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.mk
105include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
106# RTOS files (optional).
107include $(CHIBIOS)/os/rt/rt.mk
108include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
109# Auto-build files in ./source recursively.
110include $(CHIBIOS)/tools/mk/autobuild.mk
111# Other files (optional).
112include $(CHIBIOS)/test/lib/test.mk
113include $(CHIBIOS)/test/rt/rt_test.mk
114include $(CHIBIOS)/test/oslib/oslib_test.mk
115include $(CHIBIOS)/os/common/abstractions/cmsis_os/cmsis_os.mk
116
117# Define linker script file here
118LDSCRIPT= $(STARTUPLD)/STM32F407xG.ld
119
120# C sources that can be compiled in ARM or THUMB mode depending on the global
121# setting.
122CSRC = $(ALLCSRC) \
123 $(TESTSRC) \
124 main.c
125
126# C++ sources that can be compiled in ARM or THUMB mode depending on the global
127# setting.
128CPPSRC = $(ALLCPPSRC)
129
130# List ASM source files here.
131ASMSRC = $(ALLASMSRC)
132
133# List ASM with preprocessor source files here.
134ASMXSRC = $(ALLXASMSRC)
135
136# Inclusion directories.
137INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
138
139# Define C warning options here.
140CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
141
142# Define C++ warning options here.
143CPPWARN = -Wall -Wextra -Wundef
144
145#
146# Project, target, sources and paths
147##############################################################################
148
149##############################################################################
150# Start of user section
151#
152
153# List all user C define here, like -D_DEBUG=1
154UDEFS =
155
156# Define ASM defines here
157UADEFS =
158
159# List all user directories here
160UINCDIR =
161
162# List the user directory to look for the libraries here
163ULIBDIR =
164
165# List all user libraries here
166ULIBS =
167
168#
169# End of user section
170##############################################################################
171
172##############################################################################
173# Common rules
174#
175
176RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk
177include $(RULESPATH)/arm-none-eabi.mk
178include $(RULESPATH)/rules.mk
179
180#
181# Common rules
182##############################################################################
183
184##############################################################################
185# Custom rules
186#
187
188#
189# Custom rules
190##############################################################################