10561b2d8STREFOU Felix########################################################################################################################## 20561b2d8STREFOU Felix# File automatically-generated by tool: [projectgenerator] version: [3.1.0] date: [Sat Mar 30 18:50:14 CET 2019] 30561b2d8STREFOU Felix########################################################################################################################## 40561b2d8STREFOU Felix 50561b2d8STREFOU Felix# ------------------------------------------------ 60561b2d8STREFOU Felix# Generic Makefile (based on gcc) 70561b2d8STREFOU Felix# 80561b2d8STREFOU Felix# ChangeLog : 90561b2d8STREFOU Felix# 2017-02-10 - Several enhancements + project update mode 100561b2d8STREFOU Felix# 2015-07-22 - first version 110561b2d8STREFOU Felix# ------------------------------------------------ 120561b2d8STREFOU Felix 130561b2d8STREFOU Felix###################################### 140561b2d8STREFOU Felix# target 150561b2d8STREFOU Felix###################################### 160561b2d8STREFOU FelixTARGET = stm32-wb55xx 170561b2d8STREFOU Felix 180561b2d8STREFOU Felix 190561b2d8STREFOU Felix###################################### 200561b2d8STREFOU Felix# building variables 210561b2d8STREFOU Felix###################################### 220561b2d8STREFOU Felix# debug build? 230561b2d8STREFOU FelixDEBUG = 1 240561b2d8STREFOU Felix# optimization 250561b2d8STREFOU FelixOPT = -Og 260561b2d8STREFOU Felix 270561b2d8STREFOU Felix 280561b2d8STREFOU Felix####################################### 290561b2d8STREFOU Felix# paths 300561b2d8STREFOU Felix####################################### 310561b2d8STREFOU Felix# Build path 320561b2d8STREFOU FelixBUILD_DIR = build 330561b2d8STREFOU Felix 340561b2d8STREFOU FelixBTSTACK_ROOT ?= ../.. 350561b2d8STREFOU FelixFREERTOS_ROOT ?= Middlewares/amazon-freertos/lib 360561b2d8STREFOU FelixVPATH += ${BTSTACK_ROOT}/example 370561b2d8STREFOU Felix 380561b2d8STREFOU Felix###################################### 390561b2d8STREFOU Felix# source 400561b2d8STREFOU Felix###################################### 410561b2d8STREFOU Felix# C sources 420561b2d8STREFOU FelixC_SOURCES = \ 430561b2d8STREFOU Felix${BTSTACK_ROOT}/3rd-party/micro-ecc/uECC.c \ 440561b2d8STREFOU Felix${BTSTACK_ROOT}/3rd-party/rijndael/rijndael.c \ 450561b2d8STREFOU Felix${BTSTACK_ROOT}/3rd-party/segger-rtt/SEGGER_RTT.c \ 4609df40bdSMatthias Ringwald${BTSTACK_ROOT}/3rd-party/segger-rtt/SEGGER_RTT_printf.c \ 470561b2d8STREFOU Felix${BTSTACK_ROOT}/3rd-party/segger-rtt/SEGGER_RTT_Syscalls_GCC.c \ 480561b2d8STREFOU Felix${BTSTACK_ROOT}/platform/freertos/btstack_run_loop_freertos.c \ 490561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ad_parser.c \ 500561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/att_db.c \ 510561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/att_dispatch.c \ 520561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/att_server.c \ 536bdecec7SMatthias Ringwald${BTSTACK_ROOT}/src/ble/gatt-service/ancs_client.c \ 546bdecec7SMatthias Ringwald${BTSTACK_ROOT}/src/ble/gatt-service/battery_service_client.c \ 550561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/gatt-service/battery_service_server.c \ 566bdecec7SMatthias Ringwald${BTSTACK_ROOT}/src/ble/gatt-service/device_information_service_client.c \ 570561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/gatt-service/device_information_service_server.c \ 580561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/gatt-service/hids_device.c \ 590561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/gatt_client.c \ 600561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/le_device_db_memory.c \ 610561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/le_device_db_tlv.c \ 620561b2d8STREFOU Felix${BTSTACK_ROOT}/src/ble/sm.c \ 630561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_audio.c \ 640561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_crypto.c \ 650561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_hid_parser.c \ 660561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_linked_list.c \ 670561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_memory.c \ 680561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_memory_pool.c \ 690561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_resample.c \ 700561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_ring_buffer.c \ 710561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_run_loop.c \ 720561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_tlv.c \ 730561b2d8STREFOU Felix${BTSTACK_ROOT}/src/btstack_util.c \ 740561b2d8STREFOU Felix${BTSTACK_ROOT}/src/hci.c \ 750561b2d8STREFOU Felix${BTSTACK_ROOT}/src/hci_cmd.c \ 760561b2d8STREFOU Felix${BTSTACK_ROOT}/src/hci_dump.c \ 77*06816492SMatthias Ringwald${BTSTACK_ROOT}/src/hci_event_builder.c \ 780561b2d8STREFOU Felix${BTSTACK_ROOT}/src/l2cap.c \ 790561b2d8STREFOU Felix${BTSTACK_ROOT}/src/l2cap_signaling.c \ 800561b2d8STREFOU Felix${BTSTACK_ROOT}/src/hci_transport_h4.c \ 810561b2d8STREFOU Felix${BTSTACK_ROOT}/platform/embedded/hal_flash_bank_memory.c \ 820561b2d8STREFOU Felix${BTSTACK_ROOT}/platform/embedded/btstack_tlv_flash_bank.c \ 8309df40bdSMatthias Ringwald${BTSTACK_ROOT}/platform/embedded/hci_dump_embedded_stdout.c \ 8409df40bdSMatthias Ringwald${BTSTACK_ROOT}/platform/embedded/hci_dump_segger_rtt_stdout.c \ 850561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/tasks.c \ 860561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/queue.c \ 870561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/list.c \ 880561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/portable/GCC/ARM_CM4F/port.c \ 890561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/portable/MemMang/heap_4.c \ 900561b2d8STREFOU Felix$(FREERTOS_ROOT)/FreeRTOS/timers.c \ 910561b2d8STREFOU FelixMiddlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c \ 920561b2d8STREFOU FelixMiddlewares/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c \ 930561b2d8STREFOU FelixMiddlewares/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c \ 940561b2d8STREFOU FelixMiddlewares/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c \ 950561b2d8STREFOU FelixMiddlewares/STM32_WPAN/utilities/stm_list.c \ 960561b2d8STREFOU FelixMiddlewares/STM32_WPAN/utilities/otp.c \ 970561b2d8STREFOU Felixport/btstack_port.c \ 980561b2d8STREFOU Felixport/hal_flash_bank_stm32wb.c \ 990561b2d8STREFOU FelixSrc/main.c \ 1000561b2d8STREFOU FelixSrc/stm32wbxx_it.c \ 1010561b2d8STREFOU FelixSrc/stm32wbxx_hal_timebase_tim.c \ 1020561b2d8STREFOU FelixSrc/system_stm32wbxx.c \ 1030561b2d8STREFOU FelixSrc/hw_ipcc.c \ 1040561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim.c \ 1050561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_tim_ex.c \ 1060561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart.c \ 1070561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_uart_ex.c \ 1080561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal.c \ 1090561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rtc.c \ 1100561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc.c \ 1110561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_rcc_ex.c \ 1120561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash.c \ 1130561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_flash_ex.c \ 1140561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_gpio.c \ 1150561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_dma.c \ 1160561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr.c \ 1170561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pwr_ex.c \ 1180561b2d8STREFOU FelixDrivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_cortex.c \ 1190561b2d8STREFOU Felix 1200561b2d8STREFOU Felix# port/hal_flash_bank_stm32.c \ 1210561b2d8STREFOU Felix 1220561b2d8STREFOU Felix# ASM sources 1230561b2d8STREFOU FelixASM_SOURCES = \ 1240561b2d8STREFOU Felixstartup_stm32wb55xx_cm4.s 1250561b2d8STREFOU Felix 1260561b2d8STREFOU Felix 1270561b2d8STREFOU Felix####################################### 1280561b2d8STREFOU Felix# binaries 1290561b2d8STREFOU Felix####################################### 1300561b2d8STREFOU FelixPREFIX = arm-none-eabi- 1310561b2d8STREFOU Felix# The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx) 1320561b2d8STREFOU Felix# either it can be added to the PATH environment variable. 1330561b2d8STREFOU Felixifdef GCC_PATH 1340561b2d8STREFOU FelixCC = $(GCC_PATH)/$(PREFIX)gcc 1350561b2d8STREFOU FelixAS = $(GCC_PATH)/$(PREFIX)gcc -x assembler-with-cpp 1360561b2d8STREFOU FelixCP = $(GCC_PATH)/$(PREFIX)objcopy 1370561b2d8STREFOU FelixSZ = $(GCC_PATH)/$(PREFIX)size 1380561b2d8STREFOU Felixelse 1390561b2d8STREFOU FelixCC = $(PREFIX)gcc 1400561b2d8STREFOU FelixAS = $(PREFIX)gcc -x assembler-with-cpp 1410561b2d8STREFOU FelixCP = $(PREFIX)objcopy 1420561b2d8STREFOU FelixSZ = $(PREFIX)size 1430561b2d8STREFOU Felixendif 1440561b2d8STREFOU FelixHEX = $(CP) -O ihex 1450561b2d8STREFOU FelixBIN = $(CP) -O binary -S 1460561b2d8STREFOU Felix 1470561b2d8STREFOU Felix####################################### 1480561b2d8STREFOU Felix# CFLAGS 1490561b2d8STREFOU Felix####################################### 1500561b2d8STREFOU Felix# cpu 1510561b2d8STREFOU FelixCPU = -mcpu=cortex-m4 1520561b2d8STREFOU Felix 1530561b2d8STREFOU Felix# fpu 1540561b2d8STREFOU FelixFPU = -mfpu=fpv4-sp-d16 1550561b2d8STREFOU Felix 1560561b2d8STREFOU Felix# float-abi 1570561b2d8STREFOU FelixFLOAT-ABI = -mfloat-abi=hard 1580561b2d8STREFOU Felix 1590561b2d8STREFOU Felix# mcu 1600561b2d8STREFOU FelixMCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI) 1610561b2d8STREFOU Felix 1620561b2d8STREFOU Felix# macros for gcc 1630561b2d8STREFOU Felix# AS defines 1640561b2d8STREFOU FelixAS_DEFS = 1650561b2d8STREFOU Felix 1660561b2d8STREFOU Felix# C defines 1670561b2d8STREFOU FelixC_DEFS = \ 1680561b2d8STREFOU Felix-DUSE_HAL_DRIVER \ 1690561b2d8STREFOU Felix-DSTM32WB55xx 1700561b2d8STREFOU Felix 1710561b2d8STREFOU Felix 1720561b2d8STREFOU Felix# AS includes 1730561b2d8STREFOU FelixAS_INCLUDES = 1740561b2d8STREFOU Felix 1750561b2d8STREFOU Felix# C includes 1760561b2d8STREFOU FelixC_INCLUDES = \ 1770561b2d8STREFOU Felix-IInc \ 1780561b2d8STREFOU Felix-IDrivers/STM32WBxx_HAL_Driver/Inc \ 1790561b2d8STREFOU Felix-IDrivers/STM32WBxx_HAL_Driver/Inc/Legacy \ 1800561b2d8STREFOU Felix-IDrivers/CMSIS/Device/ST/STM32WBxx/Include \ 1810561b2d8STREFOU Felix-IDrivers/CMSIS/Include \ 1820561b2d8STREFOU Felix 1830561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN 1840561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/ble 1850561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/ble/core 1860561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/ble/core/template 1870561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/utilities 1880561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/interface/patterns/ble_thread 1890561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/interface/patterns/ble_thread/tl 1900561b2d8STREFOU FelixC_INCLUDES += -IMiddlewares/STM32_WPAN/interface/patterns/ble_thread/shci 1910561b2d8STREFOU Felix 1920561b2d8STREFOU FelixC_INCLUDES += -I$(FREERTOS_ROOT)/include 1930561b2d8STREFOU FelixC_INCLUDES += -I$(FREERTOS_ROOT)/include/private 1940561b2d8STREFOU FelixC_INCLUDES += -I$(FREERTOS_ROOT)/FreeRTOS/portable/GCC/ARM_CM4F 1950561b2d8STREFOU Felix 1960561b2d8STREFOU FelixC_INCLUDES += -I$(BUILD_DIR) 1970561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/src/ble 1980561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/src/ble/gatt-service 1990561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/src 2000561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/micro-ecc 2010561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/rijndael 2020561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/segger-rtt 2030561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/platform/embedded 2040561b2d8STREFOU FelixC_INCLUDES += -I${BTSTACK_ROOT}/platform/freertos 2050561b2d8STREFOU FelixC_INCLUDES += -I bsp 2060561b2d8STREFOU FelixC_INCLUDES += -I pdm 2070561b2d8STREFOU FelixC_INCLUDES += -I port 2080561b2d8STREFOU FelixC_INCLUDES += -I src 2090561b2d8STREFOU Felix 2100561b2d8STREFOU Felix# compile gcc flags 2110561b2d8STREFOU FelixASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections 2120561b2d8STREFOU Felix 2130561b2d8STREFOU FelixCFLAGS = $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections 2140561b2d8STREFOU Felix 2150561b2d8STREFOU Felixifeq ($(DEBUG), 1) 2160561b2d8STREFOU FelixCFLAGS += -g -gdwarf-2 2170561b2d8STREFOU Felixendif 2180561b2d8STREFOU Felix 2190561b2d8STREFOU Felix 2200561b2d8STREFOU Felix# Generate dependency information 2210561b2d8STREFOU FelixCFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" 2220561b2d8STREFOU Felix 2230561b2d8STREFOU Felix 2240561b2d8STREFOU Felix####################################### 2250561b2d8STREFOU Felix# LDFLAGS 2260561b2d8STREFOU Felix####################################### 2270561b2d8STREFOU Felix# link script 2280561b2d8STREFOU FelixLDSCRIPT = stm32wb55xx_flash_cm4.ld 2290561b2d8STREFOU Felix 2300561b2d8STREFOU Felix# libraries 2310561b2d8STREFOU FelixLIBS = -lc -lm -lnosys 2320561b2d8STREFOU FelixLIBDIR = 2330561b2d8STREFOU FelixLDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections 2340561b2d8STREFOU Felix 2350561b2d8STREFOU Felix# default action: build all 2360561b2d8STREFOU FelixEXAMPLES = \ 2370561b2d8STREFOU Felix ancs_client_demo \ 2380561b2d8STREFOU Felix gap_le_advertisements \ 2390561b2d8STREFOU Felix gatt_battery_query \ 2400561b2d8STREFOU Felix gatt_browser \ 2410561b2d8STREFOU Felix hog_keyboard_demo \ 2420561b2d8STREFOU Felix hog_mouse_demo \ 2430561b2d8STREFOU Felix gatt_counter \ 2440561b2d8STREFOU Felix gatt_streamer_server \ 2450561b2d8STREFOU Felix le_streamer_client \ 2460561b2d8STREFOU Felix sm_pairing_central \ 2470561b2d8STREFOU Felix sm_pairing_peripheral \ 2480561b2d8STREFOU Felix 2490561b2d8STREFOU FelixGATT_FILES = \ 2500561b2d8STREFOU Felix ancs_client_demo.gatt \ 2510561b2d8STREFOU Felix gatt_counter.gatt \ 2520561b2d8STREFOU Felix gatt_browser.gatt \ 2530561b2d8STREFOU Felix gatt_battery_query.gatt \ 2540561b2d8STREFOU Felix gatt_streamer_server.gatt \ 2550561b2d8STREFOU Felix hog_keyboard_demo.gatt \ 2560561b2d8STREFOU Felix hog_mouse_demo.gatt \ 2570561b2d8STREFOU Felix sm_pairing_peripheral.gatt \ 2580561b2d8STREFOU Felix sm_pairing_central.gatt \ 2590561b2d8STREFOU Felix spp_and_gatt_counter.gatt \ 2600561b2d8STREFOU Felix spp_and_gatt_streamer.gatt \ 2610561b2d8STREFOU Felix 2620561b2d8STREFOU Felix####################################### 2630561b2d8STREFOU Felix# build the application 2640561b2d8STREFOU Felix####################################### 2650561b2d8STREFOU Felix# list of objects 2660561b2d8STREFOU FelixOBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o))) 2670561b2d8STREFOU Felixvpath %.c $(sort $(dir $(C_SOURCES))) 2680561b2d8STREFOU Felix# list of ASM program objects 2690561b2d8STREFOU FelixOBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s=.o))) 2700561b2d8STREFOU Felixvpath %.s $(sort $(dir $(ASM_SOURCES))) 2710561b2d8STREFOU Felix 2720561b2d8STREFOU Felix# default action: build all 2730561b2d8STREFOU Felixall: \ 2740561b2d8STREFOU Felix $(OBJECTS) \ 2750561b2d8STREFOU Felix $(addprefix $(BUILD_DIR)/,$(GATT_FILES:.gatt=.h)) \ 2760561b2d8STREFOU Felix $(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.elf)) \ 2770561b2d8STREFOU Felix $(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.hex)) \ 2780561b2d8STREFOU Felix $(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.bin)) \ 2790561b2d8STREFOU Felix $(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.jdebug)) \ 2800561b2d8STREFOU Felix 2810561b2d8STREFOU Felix$(BUILD_DIR)/%.h: %.gatt 28275c13281SMatthias Ringwald python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ 2830561b2d8STREFOU Felix 2840561b2d8STREFOU Felix$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) 2850561b2d8STREFOU Felix $(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@ 2860561b2d8STREFOU Felix 2870561b2d8STREFOU Felix$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR) 2880561b2d8STREFOU Felix $(AS) -c $(CFLAGS) $< -o $@ 2890561b2d8STREFOU Felix 2900561b2d8STREFOU Felix$(BUILD_DIR)/%.elf: Makefile $(OBJECTS) $(BUILD_DIR)/%.o 2910561b2d8STREFOU Felix $(CC) $(filter-out Makefile,$^) $(LDFLAGS) -o $@ 2920561b2d8STREFOU Felix $(SZ) $@ 2930561b2d8STREFOU Felix 2940561b2d8STREFOU Felix$(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR) 2950561b2d8STREFOU Felix $(HEX) $< $@ 2960561b2d8STREFOU Felix 2970561b2d8STREFOU Felix$(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR) 2980561b2d8STREFOU Felix $(BIN) $< $@ 2990561b2d8STREFOU Felix 3000561b2d8STREFOU Felix$(BUILD_DIR)/%.jdebug: ozone.jdebug | $(BUILD_DIR) 3010561b2d8STREFOU Felix sed -e "s|EXAMPLE|$(basename $(notdir $@))|" $< > $@ 3020561b2d8STREFOU Felix 3030561b2d8STREFOU Felix$(BUILD_DIR): 3040561b2d8STREFOU Felix mkdir $@ 3050561b2d8STREFOU Felix 3060561b2d8STREFOU Felix####################################### 3070561b2d8STREFOU Felix# clean up 3080561b2d8STREFOU Felix####################################### 3090561b2d8STREFOU Felixclean: 3100561b2d8STREFOU Felix -rm -fR $(BUILD_DIR) 3110561b2d8STREFOU Felix 3120561b2d8STREFOU Felix####################################### 3130561b2d8STREFOU Felix# dependencies 3140561b2d8STREFOU Felix####################################### 3150561b2d8STREFOU Felix-include $(wildcard $(BUILD_DIR)/*.d) 3160561b2d8STREFOU Felix 3170561b2d8STREFOU Felix# *** EOF *** 318