Subversion Repositories ChibiGauge

Rev

Rev 6 | 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),)
6 mjames 8
  USE_OPT = -Os -g -ggdb -fomit-frame-pointer -falign-functions=16
2 mjames 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
 
6 mjames 129
ALLCPPSRC+= ./sht21_lib/sht21.cpp
130
ALLINC += ./sht21_lib
3 mjames 131
 
2 mjames 132
# C sources that can be compiled in ARM or THUMB mode depending on the global
133
# setting.
134
CSRC = $(ALLCSRC) \
135
       usbcfg.c \
136
       shellCmds.c \
3 mjames 137
       useLidar.c \
6 mjames 138
       spiInterface.c \
2 mjames 139
       main.c
140
 
6 mjames 141
# Get the Lidar library
2 mjames 142
VL53L0X = ../VL53L0X_1.0.2
143
include $(VL53L0X)/vl53l0x.mk   
6 mjames 144
 
145
# Get the SPI OLED library 
146
SSD1306 = ../SSD1306_lib
147
include $(SSD1306)/ssd1306.mk
2 mjames 148
 
149
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
150
# setting.
151
CPPSRC = $(ALLCPPSRC)
152
 
153
# C sources to be compiled in ARM mode regardless of the global setting.
154
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
155
#       option that results in lower performance and larger code size.
156
ACSRC =
157
 
158
# C++ sources to be compiled in ARM mode regardless of the global setting.
159
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
160
#       option that results in lower performance and larger code size.
161
ACPPSRC =
162
 
163
# C sources to be compiled in THUMB mode regardless of the global setting.
164
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
165
#       option that results in lower performance and larger code size.
166
TCSRC =
167
 
168
# C sources to be compiled in THUMB mode regardless of the global setting.
169
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
170
#       option that results in lower performance and larger code size.
171
TCPPSRC =
172
 
173
# List ASM source files here
174
ASMSRC = $(ALLASMSRC)
175
ASMXSRC = $(ALLXASMSRC)
176
 
177
 
178
INCDIR = $(ALLINC) \
179
         $(CHIBIOS)/os/various
180
 
181
#
182
# Project, sources and paths
183
##############################################################################
184
 
185
##############################################################################
186
# Compiler settings
187
#
188
 
189
MCU  = cortex-m3
190
 
191
#TRGT = arm-elf-
192
TRGT = arm-none-eabi-
193
CC   = $(TRGT)gcc
194
CPPC = $(TRGT)g++
195
# Enable loading with g++ only if you need C++ runtime support.
196
# NOTE: You can use C++ even without C++ support if you are careful. C++
197
#       runtime support makes code size explode.
198
LD   = $(TRGT)gcc
199
#LD   = $(TRGT)g++
200
CP   = $(TRGT)objcopy
201
AS   = $(TRGT)gcc -x assembler-with-cpp
202
OD   = $(TRGT)objdump
203
HEX  = $(CP) -O ihex
204
BIN  = $(CP) -O binary
205
SZ   = touch
206
 
207
# ARM-specific options here
208
AOPT =
209
 
210
# THUMB-specific options here
211
TOPT = -mthumb -DTHUMB
212
 
213
# Define C warning options here
214
CWARN = -Wall -Wextra -Wstrict-prototypes
215
 
216
# Define C++ warning options here
217
CPPWARN = -Wall -Wextra
218
 
219
#
220
# Compiler settings
221
##############################################################################
222
 
223
##############################################################################
224
# Start of default section
225
#
226
 
227
# List all default C defines here, like -D_DEBUG=1
228
DDEFS = -DSTDOUT_SD=SD2 -DSTDIN_SD=SD2
229
 
230
# List all default ASM defines here, like -D_DEBUG=1
231
DADEFS =
232
 
233
# List all default directories to look for include files here
234
DINCDIR =
235
 
236
# List the default directory to look for the libraries here
237
DLIBDIR =
238
 
239
# List all default libraries here
240
DLIBS =
241
 
242
#
243
# End of default section
244
##############################################################################
245
 
246
##############################################################################
247
# Start of user section
248
#
249
 
250
# List all user C define here, like -D_DEBUG=1
6 mjames 251
UDEFS = -DUSE_I2C_2V8
2 mjames 252
 
253
# Define ASM defines here
254
UADEFS =
255
 
256
# List all user directories here
257
UINCDIR =
258
 
259
# List the user directory to look for the libraries here
260
ULIBDIR =
261
 
262
# List all user libraries here
263
ULIBS = -lm
264
 
265
#
266
# End of user defines
267
##############################################################################
268
 
269
ifeq ($(USE_FWLIB),yes)
270
  include $(CHIBIOS)/ext/stm32lib/stm32lib.mk
271
  CSRC += $(STM32SRC)
272
  INCDIR += $(STM32INC)
273
  USE_OPT += -DUSE_STDPERIPH_DRIVER
274
endif
275
 
276
 
277
##############################################################################
278
 
279
RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
280
include $(RULESPATH)/rules.mk
281