xref: /btstack/port/stm32-wb55xx-nucleo-freertos/Makefile (revision 0561b2d8d5dba972c7daa57d5e677f7a1327edfd)
1*0561b2d8STREFOU Felix##########################################################################################################################
2*0561b2d8STREFOU Felix# File automatically-generated by tool: [projectgenerator] version: [3.1.0] date: [Sat Mar 30 18:50:14 CET 2019]
3*0561b2d8STREFOU Felix##########################################################################################################################
4*0561b2d8STREFOU Felix
5*0561b2d8STREFOU Felix# ------------------------------------------------
6*0561b2d8STREFOU Felix# Generic Makefile (based on gcc)
7*0561b2d8STREFOU Felix#
8*0561b2d8STREFOU Felix# ChangeLog :
9*0561b2d8STREFOU Felix#	2017-02-10 - Several enhancements + project update mode
10*0561b2d8STREFOU Felix#   2015-07-22 - first version
11*0561b2d8STREFOU Felix# ------------------------------------------------
12*0561b2d8STREFOU Felix
13*0561b2d8STREFOU Felix######################################
14*0561b2d8STREFOU Felix# target
15*0561b2d8STREFOU Felix######################################
16*0561b2d8STREFOU FelixTARGET = stm32-wb55xx
17*0561b2d8STREFOU Felix
18*0561b2d8STREFOU Felix
19*0561b2d8STREFOU Felix######################################
20*0561b2d8STREFOU Felix# building variables
21*0561b2d8STREFOU Felix######################################
22*0561b2d8STREFOU Felix# debug build?
23*0561b2d8STREFOU FelixDEBUG = 1
24*0561b2d8STREFOU Felix# optimization
25*0561b2d8STREFOU FelixOPT = -Og
26*0561b2d8STREFOU Felix
27*0561b2d8STREFOU Felix
28*0561b2d8STREFOU Felix#######################################
29*0561b2d8STREFOU Felix# paths
30*0561b2d8STREFOU Felix#######################################
31*0561b2d8STREFOU Felix# Build path
32*0561b2d8STREFOU FelixBUILD_DIR = build
33*0561b2d8STREFOU Felix
34*0561b2d8STREFOU FelixBTSTACK_ROOT ?= ../..
35*0561b2d8STREFOU FelixFREERTOS_ROOT ?= Middlewares/amazon-freertos/lib
36*0561b2d8STREFOU FelixVPATH += ${BTSTACK_ROOT}/example
37*0561b2d8STREFOU Felix
38*0561b2d8STREFOU Felix######################################
39*0561b2d8STREFOU Felix# source
40*0561b2d8STREFOU Felix######################################
41*0561b2d8STREFOU Felix# C sources
42*0561b2d8STREFOU FelixC_SOURCES =  \
43*0561b2d8STREFOU Felix${BTSTACK_ROOT}/3rd-party/micro-ecc/uECC.c \
44*0561b2d8STREFOU Felix${BTSTACK_ROOT}/3rd-party/rijndael/rijndael.c \
45*0561b2d8STREFOU Felix${BTSTACK_ROOT}/3rd-party/segger-rtt/SEGGER_RTT.c \
46*0561b2d8STREFOU Felix${BTSTACK_ROOT}/3rd-party/segger-rtt/SEGGER_RTT_Syscalls_GCC.c \
47*0561b2d8STREFOU Felix${BTSTACK_ROOT}/platform/freertos/btstack_run_loop_freertos.c \
48*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ad_parser.c \
49*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/ancs_client.c \
50*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/att_db.c \
51*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/att_dispatch.c \
52*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/att_server.c \
53*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/gatt-service/battery_service_server.c \
54*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/gatt-service/device_information_service_server.c \
55*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/gatt-service/hids_device.c \
56*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/gatt_client.c \
57*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/le_device_db_memory.c \
58*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/le_device_db_tlv.c \
59*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/sm.c \
60*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_audio.c \
61*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_crypto.c \
62*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_hid_parser.c \
63*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_linked_list.c \
64*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_memory.c \
65*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_memory_pool.c \
66*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_resample.c \
67*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_ring_buffer.c \
68*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_run_loop.c \
69*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_tlv.c \
70*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_util.c \
71*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/hci.c \
72*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/hci_cmd.c \
73*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/hci_dump.c \
74*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/l2cap.c \
75*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/l2cap_signaling.c \
76*0561b2d8STREFOU Felix${BTSTACK_ROOT}/src/hci_transport_h4.c \
77*0561b2d8STREFOU Felix${BTSTACK_ROOT}/platform/embedded/hal_flash_bank_memory.c \
78*0561b2d8STREFOU Felix${BTSTACK_ROOT}/platform/embedded/btstack_tlv_flash_bank.c \
79*0561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/tasks.c \
80*0561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/queue.c \
81*0561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/list.c \
82*0561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/portable/GCC/ARM_CM4F/port.c \
83*0561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/portable/MemMang/heap_4.c \
84*0561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/timers.c \
85*0561b2d8STREFOU FelixMiddlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c \
86*0561b2d8STREFOU FelixMiddlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c \
87*0561b2d8STREFOU FelixMiddlewares/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c \
88*0561b2d8STREFOU FelixMiddlewares/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c \
89*0561b2d8STREFOU FelixMiddlewares/STM32_WPAN/utilities/stm_list.c \
90*0561b2d8STREFOU FelixMiddlewares/STM32_WPAN/utilities/otp.c \
91*0561b2d8STREFOU Felixport/btstack_port.c \
92*0561b2d8STREFOU Felixport/hal_flash_bank_stm32wb.c \
93*0561b2d8STREFOU FelixSrc/main.c \
94*0561b2d8STREFOU FelixSrc/stm32wbxx_it.c \
95*0561b2d8STREFOU FelixSrc/stm32wbxx_hal_timebase_tim.c \
96*0561b2d8STREFOU FelixSrc/system_stm32wbxx.c \
97*0561b2d8STREFOU FelixSrc/hw_ipcc.c \
98*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.c \
99*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.c \
100*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c \
101*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c \
102*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c \
103*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c \
104*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c \
105*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c \
106*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c \
107*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c \
108*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c \
109*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c \
110*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c \
111*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c \
112*0561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c \
113*0561b2d8STREFOU Felix
114*0561b2d8STREFOU Felix# port/hal_flash_bank_stm32.c \
115*0561b2d8STREFOU Felix
116*0561b2d8STREFOU Felix# ASM sources
117*0561b2d8STREFOU FelixASM_SOURCES =  \
118*0561b2d8STREFOU Felixstartup_stm32wb55xx_cm4.s
119*0561b2d8STREFOU Felix
120*0561b2d8STREFOU Felix
121*0561b2d8STREFOU Felix#######################################
122*0561b2d8STREFOU Felix# binaries
123*0561b2d8STREFOU Felix#######################################
124*0561b2d8STREFOU FelixPREFIX = arm-none-eabi-
125*0561b2d8STREFOU Felix# The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx)
126*0561b2d8STREFOU Felix# either it can be added to the PATH environment variable.
127*0561b2d8STREFOU Felixifdef GCC_PATH
128*0561b2d8STREFOU FelixCC = $(GCC_PATH)/$(PREFIX)gcc
129*0561b2d8STREFOU FelixAS = $(GCC_PATH)/$(PREFIX)gcc -x assembler-with-cpp
130*0561b2d8STREFOU FelixCP = $(GCC_PATH)/$(PREFIX)objcopy
131*0561b2d8STREFOU FelixSZ = $(GCC_PATH)/$(PREFIX)size
132*0561b2d8STREFOU Felixelse
133*0561b2d8STREFOU FelixCC = $(PREFIX)gcc
134*0561b2d8STREFOU FelixAS = $(PREFIX)gcc -x assembler-with-cpp
135*0561b2d8STREFOU FelixCP = $(PREFIX)objcopy
136*0561b2d8STREFOU FelixSZ = $(PREFIX)size
137*0561b2d8STREFOU Felixendif
138*0561b2d8STREFOU FelixHEX = $(CP) -O ihex
139*0561b2d8STREFOU FelixBIN = $(CP) -O binary -S
140*0561b2d8STREFOU Felix
141*0561b2d8STREFOU Felix#######################################
142*0561b2d8STREFOU Felix# CFLAGS
143*0561b2d8STREFOU Felix#######################################
144*0561b2d8STREFOU Felix# cpu
145*0561b2d8STREFOU FelixCPU = -mcpu=cortex-m4
146*0561b2d8STREFOU Felix
147*0561b2d8STREFOU Felix# fpu
148*0561b2d8STREFOU FelixFPU = -mfpu=fpv4-sp-d16
149*0561b2d8STREFOU Felix
150*0561b2d8STREFOU Felix# float-abi
151*0561b2d8STREFOU FelixFLOAT-ABI = -mfloat-abi=hard
152*0561b2d8STREFOU Felix
153*0561b2d8STREFOU Felix# mcu
154*0561b2d8STREFOU FelixMCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
155*0561b2d8STREFOU Felix
156*0561b2d8STREFOU Felix# macros for gcc
157*0561b2d8STREFOU Felix# AS defines
158*0561b2d8STREFOU FelixAS_DEFS =
159*0561b2d8STREFOU Felix
160*0561b2d8STREFOU Felix# C defines
161*0561b2d8STREFOU FelixC_DEFS =  \
162*0561b2d8STREFOU Felix-DUSE_HAL_DRIVER \
163*0561b2d8STREFOU Felix-DSTM32WB55xx
164*0561b2d8STREFOU Felix
165*0561b2d8STREFOU Felix
166*0561b2d8STREFOU Felix# AS includes
167*0561b2d8STREFOU FelixAS_INCLUDES =
168*0561b2d8STREFOU Felix
169*0561b2d8STREFOU Felix# C includes
170*0561b2d8STREFOU FelixC_INCLUDES =  \
171*0561b2d8STREFOU Felix-IInc \
172*0561b2d8STREFOU Felix-IDrivers/STM32WBxx_HAL_Driver/Inc \
173*0561b2d8STREFOU Felix-IDrivers/STM32WBxx_HAL_Driver/Inc/Legacy \
174*0561b2d8STREFOU Felix-IDrivers/CMSIS/Device/ST/STM32WBxx/Include \
175*0561b2d8STREFOU Felix-IDrivers/CMSIS/Include \
176*0561b2d8STREFOU Felix
177*0561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN
178*0561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/ble
179*0561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/ble/core
180*0561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/ble/core/template
181*0561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/utilities
182*0561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/interface/patterns/ble_thread
183*0561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/interface/patterns/ble_thread/tl
184*0561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/interface/patterns/ble_thread/shci
185*0561b2d8STREFOU Felix
186*0561b2d8STREFOU FelixC_INCLUDES += -I$(FREERTOS_ROOT)/include
187*0561b2d8STREFOU FelixC_INCLUDES += -I$(FREERTOS_ROOT)/include/private
188*0561b2d8STREFOU FelixC_INCLUDES += -I$(FREERTOS_ROOT)/FreeRTOS/portable/GCC/ARM_CM4F
189*0561b2d8STREFOU Felix
190*0561b2d8STREFOU FelixC_INCLUDES += -I$(BUILD_DIR)
191*0561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/src/ble
192*0561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/src/ble/gatt-service
193*0561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/src
194*0561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/micro-ecc
195*0561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/rijndael
196*0561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/segger-rtt
197*0561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/platform/embedded
198*0561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/platform/freertos
199*0561b2d8STREFOU FelixC_INCLUDES += -I bsp
200*0561b2d8STREFOU FelixC_INCLUDES += -I pdm
201*0561b2d8STREFOU FelixC_INCLUDES += -I port
202*0561b2d8STREFOU FelixC_INCLUDES += -I src
203*0561b2d8STREFOU Felix
204*0561b2d8STREFOU Felix# compile gcc flags
205*0561b2d8STREFOU FelixASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections
206*0561b2d8STREFOU Felix
207*0561b2d8STREFOU FelixCFLAGS = $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections
208*0561b2d8STREFOU Felix
209*0561b2d8STREFOU Felixifeq ($(DEBUG), 1)
210*0561b2d8STREFOU FelixCFLAGS += -g -gdwarf-2
211*0561b2d8STREFOU Felixendif
212*0561b2d8STREFOU Felix
213*0561b2d8STREFOU Felix
214*0561b2d8STREFOU Felix# Generate dependency information
215*0561b2d8STREFOU FelixCFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"
216*0561b2d8STREFOU Felix
217*0561b2d8STREFOU Felix
218*0561b2d8STREFOU Felix#######################################
219*0561b2d8STREFOU Felix# LDFLAGS
220*0561b2d8STREFOU Felix#######################################
221*0561b2d8STREFOU Felix# link script
222*0561b2d8STREFOU FelixLDSCRIPT = stm32wb55xx_flash_cm4.ld
223*0561b2d8STREFOU Felix
224*0561b2d8STREFOU Felix# libraries
225*0561b2d8STREFOU FelixLIBS = -lc -lm -lnosys
226*0561b2d8STREFOU FelixLIBDIR =
227*0561b2d8STREFOU FelixLDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections
228*0561b2d8STREFOU Felix
229*0561b2d8STREFOU Felix# default action: build all
230*0561b2d8STREFOU FelixEXAMPLES = 					\
231*0561b2d8STREFOU Felix	ancs_client_demo		\
232*0561b2d8STREFOU Felix	gap_le_advertisements   \
233*0561b2d8STREFOU Felix	gatt_battery_query		\
234*0561b2d8STREFOU Felix	gatt_browser            \
235*0561b2d8STREFOU Felix	hog_keyboard_demo       \
236*0561b2d8STREFOU Felix	hog_mouse_demo          \
237*0561b2d8STREFOU Felix	gatt_counter            \
238*0561b2d8STREFOU Felix	gatt_streamer_server    \
239*0561b2d8STREFOU Felix	le_streamer_client      \
240*0561b2d8STREFOU Felix	sm_pairing_central      \
241*0561b2d8STREFOU Felix	sm_pairing_peripheral   \
242*0561b2d8STREFOU Felix
243*0561b2d8STREFOU FelixGATT_FILES = \
244*0561b2d8STREFOU Felix	ancs_client_demo.gatt \
245*0561b2d8STREFOU Felix	gatt_counter.gatt \
246*0561b2d8STREFOU Felix	gatt_browser.gatt \
247*0561b2d8STREFOU Felix	gatt_battery_query.gatt \
248*0561b2d8STREFOU Felix	gatt_streamer_server.gatt \
249*0561b2d8STREFOU Felix	hog_keyboard_demo.gatt \
250*0561b2d8STREFOU Felix	hog_mouse_demo.gatt \
251*0561b2d8STREFOU Felix	sm_pairing_peripheral.gatt \
252*0561b2d8STREFOU Felix	sm_pairing_central.gatt \
253*0561b2d8STREFOU Felix	spp_and_gatt_counter.gatt \
254*0561b2d8STREFOU Felix	spp_and_gatt_streamer.gatt \
255*0561b2d8STREFOU Felix
256*0561b2d8STREFOU Felix#######################################
257*0561b2d8STREFOU Felix# build the application
258*0561b2d8STREFOU Felix#######################################
259*0561b2d8STREFOU Felix# list of objects
260*0561b2d8STREFOU FelixOBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o)))
261*0561b2d8STREFOU Felixvpath %.c $(sort $(dir $(C_SOURCES)))
262*0561b2d8STREFOU Felix# list of ASM program objects
263*0561b2d8STREFOU FelixOBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s=.o)))
264*0561b2d8STREFOU Felixvpath %.s $(sort $(dir $(ASM_SOURCES)))
265*0561b2d8STREFOU Felix
266*0561b2d8STREFOU Felix# default action: build all
267*0561b2d8STREFOU Felixall: \
268*0561b2d8STREFOU Felix	$(OBJECTS) \
269*0561b2d8STREFOU Felix	$(addprefix $(BUILD_DIR)/,$(GATT_FILES:.gatt=.h)) \
270*0561b2d8STREFOU Felix	$(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.elf)) \
271*0561b2d8STREFOU Felix	$(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.hex)) \
272*0561b2d8STREFOU Felix	$(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.bin)) \
273*0561b2d8STREFOU Felix	$(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.jdebug)) \
274*0561b2d8STREFOU Felix
275*0561b2d8STREFOU Felix$(BUILD_DIR)/%.h: %.gatt
276*0561b2d8STREFOU Felix	python ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
277*0561b2d8STREFOU Felix
278*0561b2d8STREFOU Felix$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR)
279*0561b2d8STREFOU Felix	$(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@
280*0561b2d8STREFOU Felix
281*0561b2d8STREFOU Felix$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR)
282*0561b2d8STREFOU Felix	$(AS) -c $(CFLAGS) $< -o $@
283*0561b2d8STREFOU Felix
284*0561b2d8STREFOU Felix$(BUILD_DIR)/%.elf: Makefile $(OBJECTS) $(BUILD_DIR)/%.o
285*0561b2d8STREFOU Felix	$(CC) $(filter-out Makefile,$^)  $(LDFLAGS) -o $@
286*0561b2d8STREFOU Felix	$(SZ) $@
287*0561b2d8STREFOU Felix
288*0561b2d8STREFOU Felix$(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
289*0561b2d8STREFOU Felix	$(HEX) $< $@
290*0561b2d8STREFOU Felix
291*0561b2d8STREFOU Felix$(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
292*0561b2d8STREFOU Felix	$(BIN) $< $@
293*0561b2d8STREFOU Felix
294*0561b2d8STREFOU Felix$(BUILD_DIR)/%.jdebug: ozone.jdebug | $(BUILD_DIR)
295*0561b2d8STREFOU Felix	sed -e "s|EXAMPLE|$(basename $(notdir $@))|" $<  > $@
296*0561b2d8STREFOU Felix
297*0561b2d8STREFOU Felix$(BUILD_DIR):
298*0561b2d8STREFOU Felix	mkdir $@
299*0561b2d8STREFOU Felix
300*0561b2d8STREFOU Felix#######################################
301*0561b2d8STREFOU Felix# clean up
302*0561b2d8STREFOU Felix#######################################
303*0561b2d8STREFOU Felixclean:
304*0561b2d8STREFOU Felix	-rm -fR $(BUILD_DIR)
305*0561b2d8STREFOU Felix
306*0561b2d8STREFOU Felix#######################################
307*0561b2d8STREFOU Felix# dependencies
308*0561b2d8STREFOU Felix#######################################
309*0561b2d8STREFOU Felix-include $(wildcard $(BUILD_DIR)/*.d)
310*0561b2d8STREFOU Felix
311*0561b2d8STREFOU Felix# *** EOF ***
312