Subversion Repositories ChibiGauge

Rev

Rev 2 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 mjames 1
##############################################################################
2
# Build global options
3
# NOTE: Can be overridden externally.
4
#
5
 
6
# Compiler options here.
7
ifeq ($(USE_OPT),)
8
  USE_OPT = -O0 -g -ggdb -fomit-frame-pointer -falign-functions=16
9
endif
10
 
11
 
12
# C specific options here (added to USE_OPT).
13
ifeq ($(USE_COPT),)
14
  USE_COPT = 
15
endif
16
 
17
# C++ specific options here (added to USE_OPT).
18
ifeq ($(USE_CPPOPT),)
19
  USE_CPPOPT = -fno-rtti
20
endif
21
 
22
# Enable this if you want the linker to remove unused code and data
23
ifeq ($(USE_LINK_GC),)
24
  USE_LINK_GC = yes
25
endif
26
 
27
# Linker extra options here.
28
ifeq ($(USE_LDOPT),)
29
  USE_LDOPT = 
30
endif
31
 
32
# Enable this if you want link time optimizations (LTO)
33
ifeq ($(USE_LTO),)
34
  USE_LTO = yes
35
endif
36
 
37
# If enabled, this option allows to compile the application in THUMB mode.
38
ifeq ($(USE_THUMB),)
39
  USE_THUMB = yes
40
endif
41
 
42
# Enable this if you want to see the full log while compiling.
43
ifeq ($(USE_VERBOSE_COMPILE),)
44
  USE_VERBOSE_COMPILE = no
45
endif
46
 
47
# If enabled, this option makes the build process faster by not compiling
48
# modules not used in the current configuration.
49
ifeq ($(USE_SMART_BUILD),)
50
  USE_SMART_BUILD = yes
51
endif
52
 
53
 
54
#
55
# Build global options
56
##############################################################################
57
 
58
##############################################################################
59
# Architecture or project specific options
60
#
61
 
62
# Stack size to be allocated to the Cortex-M process stack. This stack is
63
# the stack used by the main() thread.
64
ifeq ($(USE_PROCESS_STACKSIZE),)
65
  USE_PROCESS_STACKSIZE = 0x400
66
endif
67
 
68
# Stack size to the allocated to the Cortex-M main/exceptions stack. This
69
# stack is used for processing interrupts and exceptions.
70
ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
71
  USE_EXCEPTIONS_STACKSIZE = 0x400
72
endif
73
 
74
# Enables the use of FPU (no, softfp, hard).
75
ifeq ($(USE_FPU),)
76
  USE_FPU = no
77
endif
78
 
79
# Enable this if you really want to use the STM FWLib.
80
ifeq ($(USE_FWLIB),)
81
  USE_FWLIB = no
82
endif
83
 
84
#
85
# Architecture or project specific options
86
##############################################################################
87
 
88
##############################################################################
89
# Project, sources and paths
90
#
91
 
92
 
93
 
94
# Define project name here
95
PROJECT = ChibiGauge
96
#define board
97
BOARD = ST_bluePillF103
98
 
99
CHIBIOS = c:/Projects/ChibiOS
100
CHIBIOS_CONTRIB = c:/Projects/ChibiOS/community
101
# Licensing files.
102
include $(CHIBIOS)/os/license/license.mk
103
# Startup files.
104
include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f1xx.mk
105
# HAL-OSAL files (optional).
106
include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
107
include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F1xx/platform.mk
108
# board pinout file changed from chibiOS
109
include ./chibios/board/board.mk
110
include $(CHIBIOS)/os/hal/osal/rt/osal.mk
111
# RTOS files (optional).
112
include $(CHIBIOS)/os/rt/rt.mk
113
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
114
# Other files (optional).
115
include $(CHIBIOS)/test/lib/test.mk
116
include $(CHIBIOS)/test/rt/rt_test.mk
117
include $(CHIBIOS)/test/oslib/oslib_test.mk
118
include $(CHIBIOS)/os/hal/lib/streams/streams.mk
119
include $(CHIBIOS)/os/various/shell/shell.mk
120
 
121
# Define linker script file here
122
LDSCRIPT= $(STARTUPLD)/STM32F103xB.ld
123
 
124
 
125
ALLINC+= ./inc
126
 
127
ALLCSRC+= ./src/useAdc.c
128
 
3 mjames 129
 
130
 
2 mjames 131
# C sources that can be compiled in ARM or THUMB mode depending on the global
132
# setting.
133
CSRC = $(ALLCSRC) \
134
       usbcfg.c \
135
       shellCmds.c \
3 mjames 136
       useLidar.c \
2 mjames 137
       main.c
138
 
139
VL53L0X = ../VL53L0X_1.0.2
140
include $(VL53L0X)/vl53l0x.mk   
141
 
142
 
143
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
144
# setting.
145
CPPSRC = $(ALLCPPSRC)
146
 
147
# C sources to be compiled in ARM mode regardless of the global setting.
148
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
149
#       option that results in lower performance and larger code size.
150
ACSRC =
151
 
152
# C++ sources to be compiled in ARM mode regardless of the global setting.
153
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
154
#       option that results in lower performance and larger code size.
155
ACPPSRC =
156
 
157
# C sources to be compiled in THUMB mode regardless of the global setting.
158
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
159
#       option that results in lower performance and larger code size.
160
TCSRC =
161
 
162
# C sources to be compiled in THUMB mode regardless of the global setting.
163
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
164
#       option that results in lower performance and larger code size.
165
TCPPSRC =
166
 
167
# List ASM source files here
168
ASMSRC = $(ALLASMSRC)
169
ASMXSRC = $(ALLXASMSRC)
170
 
171
 
172
INCDIR = $(ALLINC) \
173
         $(CHIBIOS)/os/various
174
 
175
#
176
# Project, sources and paths
177
##############################################################################
178
 
179
##############################################################################
180
# Compiler settings
181
#
182
 
183
MCU  = cortex-m3
184
 
185
#TRGT = arm-elf-
186
TRGT = arm-none-eabi-
187
CC   = $(TRGT)gcc
188
CPPC = $(TRGT)g++
189
# Enable loading with g++ only if you need C++ runtime support.
190
# NOTE: You can use C++ even without C++ support if you are careful. C++
191
#       runtime support makes code size explode.
192
LD   = $(TRGT)gcc
193
#LD   = $(TRGT)g++
194
CP   = $(TRGT)objcopy
195
AS   = $(TRGT)gcc -x assembler-with-cpp
196
OD   = $(TRGT)objdump
197
HEX  = $(CP) -O ihex
198
BIN  = $(CP) -O binary
199
SZ   = touch
200
 
201
# ARM-specific options here
202
AOPT =
203
 
204
# THUMB-specific options here
205
TOPT = -mthumb -DTHUMB
206
 
207
# Define C warning options here
208
CWARN = -Wall -Wextra -Wstrict-prototypes
209
 
210
# Define C++ warning options here
211
CPPWARN = -Wall -Wextra
212
 
213
#
214
# Compiler settings
215
##############################################################################
216
 
217
##############################################################################
218
# Start of default section
219
#
220
 
221
# List all default C defines here, like -D_DEBUG=1
222
DDEFS = -DSTDOUT_SD=SD2 -DSTDIN_SD=SD2
223
 
224
# List all default ASM defines here, like -D_DEBUG=1
225
DADEFS =
226
 
227
# List all default directories to look for include files here
228
DINCDIR =
229
 
230
# List the default directory to look for the libraries here
231
DLIBDIR =
232
 
233
# List all default libraries here
234
DLIBS =
235
 
236
#
237
# End of default section
238
##############################################################################
239
 
240
##############################################################################
241
# Start of user section
242
#
243
 
244
# List all user C define here, like -D_DEBUG=1
245
UDEFS =
246
 
247
# Define ASM defines here
248
UADEFS =
249
 
250
# List all user directories here
251
UINCDIR =
252
 
253
# List the user directory to look for the libraries here
254
ULIBDIR =
255
 
256
# List all user libraries here
257
ULIBS = -lm
258
 
259
#
260
# End of user defines
261
##############################################################################
262
 
263
ifeq ($(USE_FWLIB),yes)
264
  include $(CHIBIOS)/ext/stm32lib/stm32lib.mk
265
  CSRC += $(STM32SRC)
266
  INCDIR += $(STM32INC)
267
  USE_OPT += -DUSE_STDPERIPH_DRIVER
268
endif
269
 
270
 
271
##############################################################################
272
 
273
RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
274
include $(RULESPATH)/rules.mk
275