1*225f4ba4SMatthias Ringwald########################################################################################################################## 2*225f4ba4SMatthias Ringwald# File automatically-generated by tool: [projectgenerator] version: [3.1.0] date: [Thu Mar 07 21:47:00 CET 2019] 3*225f4ba4SMatthias Ringwald########################################################################################################################## 4*225f4ba4SMatthias Ringwald 5*225f4ba4SMatthias Ringwald# ------------------------------------------------ 6*225f4ba4SMatthias Ringwald# Generic Makefile (based on gcc) 7*225f4ba4SMatthias Ringwald# 8*225f4ba4SMatthias Ringwald# ChangeLog : 9*225f4ba4SMatthias Ringwald# 2017-02-10 - Several enhancements + project update mode 10*225f4ba4SMatthias Ringwald# 2015-07-22 - first version 11*225f4ba4SMatthias Ringwald# ------------------------------------------------ 12*225f4ba4SMatthias Ringwald 13*225f4ba4SMatthias Ringwald###################################### 14*225f4ba4SMatthias Ringwald# target 15*225f4ba4SMatthias Ringwald###################################### 16*225f4ba4SMatthias RingwaldTARGET = stm32f4-discovery-cc256x 17*225f4ba4SMatthias Ringwald 18*225f4ba4SMatthias Ringwald 19*225f4ba4SMatthias Ringwald###################################### 20*225f4ba4SMatthias Ringwald# building variables 21*225f4ba4SMatthias Ringwald###################################### 22*225f4ba4SMatthias Ringwald# debug build? 23*225f4ba4SMatthias RingwaldDEBUG = 1 24*225f4ba4SMatthias Ringwald# optimization 25*225f4ba4SMatthias RingwaldOPT = -O2 26*225f4ba4SMatthias Ringwald 27*225f4ba4SMatthias Ringwald 28*225f4ba4SMatthias Ringwald####################################### 29*225f4ba4SMatthias Ringwald# paths 30*225f4ba4SMatthias Ringwald####################################### 31*225f4ba4SMatthias Ringwald# Build path 32*225f4ba4SMatthias RingwaldBUILD_DIR = build 33*225f4ba4SMatthias Ringwald 34*225f4ba4SMatthias RingwaldBTSTACK_ROOT = ../.. 35*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/micro-ecc 36*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/bluedroid/decoder/srce 37*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/bluedroid/encoder/srce 38*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/hxcmod-player 39*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/hxcmod-player/mods 40*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/md5 41*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/yxml 42*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/3rd-party/segger-rtt 43*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/chipset/cc256x 44*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/example 45*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/platform/embedded 46*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src 47*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/ble 48*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/ble/gatt-service 49*225f4ba4SMatthias RingwaldVPATH += ${BTSTACK_ROOT}/src/classic 50*225f4ba4SMatthias RingwaldVPATH += Drivers/STM32F4xx_HAL_DRIVER/Src 51*225f4ba4SMatthias RingwaldVPATH += Src 52*225f4ba4SMatthias RingwaldVPATH += port 53*225f4ba4SMatthias RingwaldVPATH += bsp 54*225f4ba4SMatthias Ringwald 55*225f4ba4SMatthias Ringwald###################################### 56*225f4ba4SMatthias Ringwald# source 57*225f4ba4SMatthias Ringwald###################################### 58*225f4ba4SMatthias Ringwald# C sources 59*225f4ba4SMatthias RingwaldC_SOURCES = \ 60*225f4ba4SMatthias Ringwald3rd-party/hxcmod-player/hxcmod.c \ 61*225f4ba4SMatthias Ringwald3rd-party/hxcmod-player/mods/nao-deceased_by_disease.c \ 62*225f4ba4SMatthias Ringwald3rd-party/micro-ecc/uECC.c \ 63*225f4ba4SMatthias Ringwald3rd-party/segger-rtt/SEGGER_RTT.c \ 64*225f4ba4SMatthias Ringwald3rd-party/segger-rtt/SEGGER_RTT_Syscalls_GCC.c \ 65*225f4ba4SMatthias Ringwald3rd-party/yxml/yxml.c \ 66*225f4ba4SMatthias Ringwald3rd-prty/md5.c \ 67*225f4ba4SMatthias Ringwaldbluetooth_init_cc2564B_1.6_BT_Spec_4.1.c \ 68*225f4ba4SMatthias Ringwaldbsp/audio.c \ 69*225f4ba4SMatthias Ringwaldbsp/cs43l22.c \ 70*225f4ba4SMatthias Ringwaldbsp/stm32f4_discovery.c \ 71*225f4ba4SMatthias Ringwaldbsp/stm32f4_discovery_audio.c \ 72*225f4ba4SMatthias Ringwaldchipset/cc256x/btstack_chipset_cc256x.c \ 73*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal.c \ 74*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_cortex.c \ 75*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_dma.c \ 76*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_dma_ex.c \ 77*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_exti.c \ 78*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_flash.c \ 79*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_flash_ex.c \ 80*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_flash_ramfunc.c \ 81*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_gpio.c \ 82*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_i2c.c \ 83*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_i2c_ex.c \ 84*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_i2s.c \ 85*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_i2s_ex.c \ 86*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_pwr.c \ 87*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_pwr_ex.c \ 88*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_rcc.c \ 89*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_rcc_ex.c \ 90*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_spi.c \ 91*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_tim.c \ 92*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_tim_ex.c \ 93*225f4ba4SMatthias RingwaldDrivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_uart.c \ 94*225f4ba4SMatthias Ringwaldexampe/sco_demo_util.c \ 95*225f4ba4SMatthias Ringwaldplatform/embedded/btstack_audio_embedded.c \ 96*225f4ba4SMatthias Ringwaldplatform/embedded/btstack_run_loop_embedded.c \ 97*225f4ba4SMatthias Ringwaldplatform/embedded/btstack_stdin_embedded.c \ 98*225f4ba4SMatthias Ringwaldplatform/embedded/btstack_tlv_flash_bank.c \ 99*225f4ba4SMatthias Ringwaldplatform/embedded/btstack_uart_block_embedded.c \ 100*225f4ba4SMatthias Ringwaldport/hal_audio_f4discovery.c \ 101*225f4ba4SMatthias Ringwaldport/hal_flash_bank_stm32.c \ 102*225f4ba4SMatthias Ringwaldsrc/ad_parser.c \ 103*225f4ba4SMatthias Ringwaldsrc/ble/ancs_client.c \ 104*225f4ba4SMatthias Ringwaldsrc/ble/att_db.c \ 105*225f4ba4SMatthias Ringwaldsrc/ble/att_dispatch.c \ 106*225f4ba4SMatthias Ringwaldsrc/ble/att_server.c \ 107*225f4ba4SMatthias Ringwaldsrc/ble/gatt-service/battery_service_server.c \ 108*225f4ba4SMatthias Ringwaldsrc/ble/gatt-service/device_information_service_server.c \ 109*225f4ba4SMatthias Ringwaldsrc/ble/gatt-service/hids_device.c \ 110*225f4ba4SMatthias Ringwaldsrc/ble/gatt_client.c \ 111*225f4ba4SMatthias Ringwaldsrc/ble/le_device_db_memory.c \ 112*225f4ba4SMatthias Ringwaldsrc/ble/le_device_db_tlv.c \ 113*225f4ba4SMatthias Ringwaldsrc/ble/sm.c \ 114*225f4ba4SMatthias Ringwaldsrc/btstack_audio.c \ 115*225f4ba4SMatthias Ringwaldsrc/btstack_crypto.c \ 116*225f4ba4SMatthias Ringwaldsrc/btstack_hid_parser.c \ 117*225f4ba4SMatthias Ringwaldsrc/btstack_linked_list.c \ 118*225f4ba4SMatthias Ringwaldsrc/btstack_memory.c \ 119*225f4ba4SMatthias Ringwaldsrc/btstack_memory_pool.c \ 120*225f4ba4SMatthias Ringwaldsrc/btstack_resample.c \ 121*225f4ba4SMatthias Ringwaldsrc/btstack_ring_buffer.c \ 122*225f4ba4SMatthias Ringwaldsrc/btstack_run_loop.c \ 123*225f4ba4SMatthias Ringwaldsrc/btstack_tlv.c \ 124*225f4ba4SMatthias Ringwaldsrc/btstack_util.c \ 125*225f4ba4SMatthias Ringwaldsrc/classic/a2dp_sink.c \ 126*225f4ba4SMatthias Ringwaldsrc/classic/a2dp_source.c \ 127*225f4ba4SMatthias Ringwaldsrc/classic/avdtp.c \ 128*225f4ba4SMatthias Ringwaldsrc/classic/avdtp_acceptor.c \ 129*225f4ba4SMatthias Ringwaldsrc/classic/avdtp_initiator.c \ 130*225f4ba4SMatthias Ringwaldsrc/classic/avdtp_sink.c \ 131*225f4ba4SMatthias Ringwaldsrc/classic/avdtp_source.c \ 132*225f4ba4SMatthias Ringwaldsrc/classic/avdtp_util.c \ 133*225f4ba4SMatthias Ringwaldsrc/classic/avrcp.c \ 134*225f4ba4SMatthias Ringwaldsrc/classic/avrcp_browsing_controller.c \ 135*225f4ba4SMatthias Ringwaldsrc/classic/avrcp_controller.c \ 136*225f4ba4SMatthias Ringwaldsrc/classic/avrcp_media_item_iterator.c \ 137*225f4ba4SMatthias Ringwaldsrc/classic/avrcp_target.c \ 138*225f4ba4SMatthias Ringwaldsrc/classic/btstack_cvsd_plc.c \ 139*225f4ba4SMatthias Ringwaldsrc/classic/btstack_link_key_db_tlv.c \ 140*225f4ba4SMatthias Ringwaldsrc/classic/btstack_sbc_decoder_bluedroid.c \ 141*225f4ba4SMatthias Ringwaldsrc/classic/btstack_sbc_encoder_bluedroid.c \ 142*225f4ba4SMatthias Ringwaldsrc/classic/btstack_sbc_plc.c \ 143*225f4ba4SMatthias Ringwaldsrc/classic/device_id_server.c \ 144*225f4ba4SMatthias Ringwaldsrc/classic/goep_client.c \ 145*225f4ba4SMatthias Ringwaldsrc/classic/hfp.c \ 146*225f4ba4SMatthias Ringwaldsrc/classic/hfp_ag.c \ 147*225f4ba4SMatthias Ringwaldsrc/classic/hfp_gsm_model.c \ 148*225f4ba4SMatthias Ringwaldsrc/classic/hfp_hf.c \ 149*225f4ba4SMatthias Ringwaldsrc/classic/hfp_msbc.c \ 150*225f4ba4SMatthias Ringwaldsrc/classic/hid_device.c \ 151*225f4ba4SMatthias Ringwaldsrc/classic/hsp_ag.c \ 152*225f4ba4SMatthias Ringwaldsrc/classic/hsp_hs.c \ 153*225f4ba4SMatthias Ringwaldsrc/classic/obex_iterator.c \ 154*225f4ba4SMatthias Ringwaldsrc/classic/pbap_client.c \ 155*225f4ba4SMatthias Ringwaldsrc/classic/rfcomm.c \ 156*225f4ba4SMatthias Ringwaldsrc/classic/sdp_client.c \ 157*225f4ba4SMatthias Ringwaldsrc/classic/sdp_client_rfcomm.c \ 158*225f4ba4SMatthias Ringwaldsrc/classic/sdp_server.c \ 159*225f4ba4SMatthias Ringwaldsrc/classic/sdp_util.c \ 160*225f4ba4SMatthias Ringwaldsrc/classic/spp_server.c \ 161*225f4ba4SMatthias RingwaldSrc/dma.c \ 162*225f4ba4SMatthias RingwaldSrc/gpio.c \ 163*225f4ba4SMatthias Ringwaldsrc/hci.c \ 164*225f4ba4SMatthias Ringwaldsrc/hci_cmd.c \ 165*225f4ba4SMatthias Ringwaldsrc/hci_dump.c \ 166*225f4ba4SMatthias Ringwaldsrc/hci_transport_h4.c \ 167*225f4ba4SMatthias Ringwaldsrc/l2cap.c \ 168*225f4ba4SMatthias Ringwaldsrc/l2cap_signaling.c \ 169*225f4ba4SMatthias RingwaldSrc/main.c \ 170*225f4ba4SMatthias RingwaldSrc/port.c \ 171*225f4ba4SMatthias RingwaldSrc/spi.c \ 172*225f4ba4SMatthias RingwaldSrc/stm32f4xx_hal_msp.c \ 173*225f4ba4SMatthias RingwaldSrc/stm32f4xx_it.c \ 174*225f4ba4SMatthias RingwaldSrc/system_stm32f4xx.c \ 175*225f4ba4SMatthias RingwaldSrc/usart.c \ 176*225f4ba4SMatthias Ringwald 177*225f4ba4SMatthias Ringwald# ASM sources 178*225f4ba4SMatthias RingwaldASM_SOURCES = \ 179*225f4ba4SMatthias Ringwaldstartup_stm32f407xx.s 180*225f4ba4SMatthias Ringwald 181*225f4ba4SMatthias Ringwald 182*225f4ba4SMatthias Ringwald####################################### 183*225f4ba4SMatthias Ringwald# binaries 184*225f4ba4SMatthias Ringwald####################################### 185*225f4ba4SMatthias RingwaldPREFIX = arm-none-eabi- 186*225f4ba4SMatthias Ringwald# The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx) 187*225f4ba4SMatthias Ringwald# either it can be added to the PATH environment variable. 188*225f4ba4SMatthias Ringwaldifdef GCC_PATH 189*225f4ba4SMatthias RingwaldCC = $(GCC_PATH)/$(PREFIX)gcc 190*225f4ba4SMatthias RingwaldAS = $(GCC_PATH)/$(PREFIX)gcc -x assembler-with-cpp 191*225f4ba4SMatthias RingwaldCP = $(GCC_PATH)/$(PREFIX)objcopy 192*225f4ba4SMatthias RingwaldSZ = $(GCC_PATH)/$(PREFIX)size 193*225f4ba4SMatthias Ringwaldelse 194*225f4ba4SMatthias RingwaldCC = $(PREFIX)gcc 195*225f4ba4SMatthias RingwaldAS = $(PREFIX)gcc -x assembler-with-cpp 196*225f4ba4SMatthias RingwaldCP = $(PREFIX)objcopy 197*225f4ba4SMatthias RingwaldSZ = $(PREFIX)size 198*225f4ba4SMatthias Ringwaldendif 199*225f4ba4SMatthias RingwaldHEX = $(CP) -O ihex 200*225f4ba4SMatthias RingwaldBIN = $(CP) -O binary -S 201*225f4ba4SMatthias Ringwald 202*225f4ba4SMatthias Ringwald####################################### 203*225f4ba4SMatthias Ringwald# CFLAGS 204*225f4ba4SMatthias Ringwald####################################### 205*225f4ba4SMatthias Ringwald# cpu 206*225f4ba4SMatthias RingwaldCPU = -mcpu=cortex-m4 207*225f4ba4SMatthias Ringwald 208*225f4ba4SMatthias Ringwald# fpu 209*225f4ba4SMatthias RingwaldFPU = -mfpu=fpv4-sp-d16 210*225f4ba4SMatthias Ringwald 211*225f4ba4SMatthias Ringwald# float-abi 212*225f4ba4SMatthias RingwaldFLOAT-ABI = -mfloat-abi=softfp 213*225f4ba4SMatthias Ringwald 214*225f4ba4SMatthias Ringwald# mcu 215*225f4ba4SMatthias RingwaldMCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI) 216*225f4ba4SMatthias Ringwald 217*225f4ba4SMatthias Ringwald# macros for gcc 218*225f4ba4SMatthias Ringwald# AS defines 219*225f4ba4SMatthias RingwaldAS_DEFS = 220*225f4ba4SMatthias Ringwald 221*225f4ba4SMatthias Ringwald# C defines 222*225f4ba4SMatthias RingwaldC_DEFS = \ 223*225f4ba4SMatthias Ringwald-DUSE_HAL_DRIVER \ 224*225f4ba4SMatthias Ringwald-DSTM32F407xx 225*225f4ba4SMatthias Ringwald 226*225f4ba4SMatthias Ringwald 227*225f4ba4SMatthias Ringwald# AS includes 228*225f4ba4SMatthias RingwaldAS_INCLUDES = 229*225f4ba4SMatthias Ringwald 230*225f4ba4SMatthias Ringwald# C includes 231*225f4ba4SMatthias RingwaldC_INCLUDES = \ 232*225f4ba4SMatthias Ringwald-IInc \ 233*225f4ba4SMatthias Ringwald-IDrivers/STM32F4xx_HAL_Driver/Inc \ 234*225f4ba4SMatthias Ringwald-IDrivers/STM32F4xx_HAL_Driver/Inc/Legacy \ 235*225f4ba4SMatthias Ringwald-IDrivers/CMSIS/Device/ST/STM32F4xx/Include \ 236*225f4ba4SMatthias Ringwald-IDrivers/CMSIS/Include \ 237*225f4ba4SMatthias Ringwald 238*225f4ba4SMatthias RingwaldC_INCLUDES += -I$(BUILD_DIR) 239*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/src/ble 240*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/src/ble/gatt-service 241*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/src/classic 242*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/src 243*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/micro-ecc 244*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/bluedroid/decoder/include 245*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/bluedroid/encoder/include 246*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/hxcmod-player 247*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/hxcmod-player/mods 248*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/md5 249*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/yxml 250*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/3rd-party/segger-rtt 251*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/platform/embedded 252*225f4ba4SMatthias RingwaldC_INCLUDES += -I${BTSTACK_ROOT}/chipset/cc256x 253*225f4ba4SMatthias RingwaldC_INCLUDES += -I Drivers/STM32F4xx_HAL_Driver/Inc 254*225f4ba4SMatthias RingwaldC_INCLUDES += -I bsp 255*225f4ba4SMatthias RingwaldC_INCLUDES += -I pdm 256*225f4ba4SMatthias RingwaldC_INCLUDES += -I port 257*225f4ba4SMatthias RingwaldC_INCLUDES += -I src 258*225f4ba4SMatthias Ringwald 259*225f4ba4SMatthias Ringwald# compile gcc flags 260*225f4ba4SMatthias RingwaldASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections 261*225f4ba4SMatthias Ringwald 262*225f4ba4SMatthias RingwaldCFLAGS = $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections 263*225f4ba4SMatthias Ringwald 264*225f4ba4SMatthias Ringwaldifeq ($(DEBUG), 1) 265*225f4ba4SMatthias RingwaldCFLAGS += -g -gdwarf-2 266*225f4ba4SMatthias Ringwaldendif 267*225f4ba4SMatthias Ringwald 268*225f4ba4SMatthias Ringwald 269*225f4ba4SMatthias Ringwald# Generate dependency information 270*225f4ba4SMatthias RingwaldCFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" 271*225f4ba4SMatthias Ringwald 272*225f4ba4SMatthias Ringwald 273*225f4ba4SMatthias Ringwald####################################### 274*225f4ba4SMatthias Ringwald# LDFLAGS 275*225f4ba4SMatthias Ringwald####################################### 276*225f4ba4SMatthias Ringwald# link script 277*225f4ba4SMatthias RingwaldLDSCRIPT = STM32F407VGTx_FLASH.ld 278*225f4ba4SMatthias Ringwald 279*225f4ba4SMatthias Ringwald# libraries 280*225f4ba4SMatthias RingwaldLIBS = -lPDMFilter_CM4_GCC -lc -lm -lnosys 281*225f4ba4SMatthias RingwaldLIBDIR = -Lpdm 282*225f4ba4SMatthias RingwaldLDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections 283*225f4ba4SMatthias Ringwald 284*225f4ba4SMatthias Ringwald# default action: build all 285*225f4ba4SMatthias RingwaldLE_EXAMPLES = \ 286*225f4ba4SMatthias Ringwald ancs_client_demo \ 287*225f4ba4SMatthias Ringwald gap_le_advertisements \ 288*225f4ba4SMatthias Ringwald gatt_battery_query \ 289*225f4ba4SMatthias Ringwald gatt_browser \ 290*225f4ba4SMatthias Ringwald le_counter \ 291*225f4ba4SMatthias Ringwald le_streamer \ 292*225f4ba4SMatthias Ringwald le_streamer_client \ 293*225f4ba4SMatthias Ringwald sm_pairing_peripheral \ 294*225f4ba4SMatthias Ringwald sm_pairing_central 295*225f4ba4SMatthias Ringwald 296*225f4ba4SMatthias RingwaldEXAMPLES = \ 297*225f4ba4SMatthias Ringwald audio_duplex \ 298*225f4ba4SMatthias Ringwald a2dp_sink_demo \ 299*225f4ba4SMatthias Ringwald a2dp_source_demo \ 300*225f4ba4SMatthias Ringwald ancs_client_demo \ 301*225f4ba4SMatthias Ringwald dut_mode_classic \ 302*225f4ba4SMatthias Ringwald gap_dedicated_bonding \ 303*225f4ba4SMatthias Ringwald gap_inquiry \ 304*225f4ba4SMatthias Ringwald gap_le_advertisements \ 305*225f4ba4SMatthias Ringwald gatt_battery_query \ 306*225f4ba4SMatthias Ringwald gatt_browser \ 307*225f4ba4SMatthias Ringwald hfp_ag_demo \ 308*225f4ba4SMatthias Ringwald hfp_hf_demo \ 309*225f4ba4SMatthias Ringwald hid_host_demo \ 310*225f4ba4SMatthias Ringwald hid_keyboard_demo \ 311*225f4ba4SMatthias Ringwald hid_mouse_demo \ 312*225f4ba4SMatthias Ringwald hog_keyboard_demo \ 313*225f4ba4SMatthias Ringwald hog_mouse_demo \ 314*225f4ba4SMatthias Ringwald hsp_ag_demo \ 315*225f4ba4SMatthias Ringwald hsp_hs_demo \ 316*225f4ba4SMatthias Ringwald mod_player \ 317*225f4ba4SMatthias Ringwald le_counter \ 318*225f4ba4SMatthias Ringwald le_streamer \ 319*225f4ba4SMatthias Ringwald le_streamer_client \ 320*225f4ba4SMatthias Ringwald pbap_client_demo \ 321*225f4ba4SMatthias Ringwald sdp_bnep_query \ 322*225f4ba4SMatthias Ringwald sdp_general_query \ 323*225f4ba4SMatthias Ringwald sdp_rfcomm_query \ 324*225f4ba4SMatthias Ringwald sine_player \ 325*225f4ba4SMatthias Ringwald sm_pairing_central \ 326*225f4ba4SMatthias Ringwald sm_pairing_peripheral \ 327*225f4ba4SMatthias Ringwald spp_and_le_counter \ 328*225f4ba4SMatthias Ringwald spp_and_le_streamer \ 329*225f4ba4SMatthias Ringwald spp_counter \ 330*225f4ba4SMatthias Ringwald spp_streamer \ 331*225f4ba4SMatthias Ringwald spp_streamer_client \ 332*225f4ba4SMatthias Ringwald 333*225f4ba4SMatthias RingwaldGATT_FILES = \ 334*225f4ba4SMatthias Ringwald ancs_client_demo.gatt \ 335*225f4ba4SMatthias Ringwald le_counter.gatt \ 336*225f4ba4SMatthias Ringwald le_streamer.gatt \ 337*225f4ba4SMatthias Ringwald gatt_browser.gatt \ 338*225f4ba4SMatthias Ringwald gatt_battery_query.gatt \ 339*225f4ba4SMatthias Ringwald hog_keyboard_demo.gatt \ 340*225f4ba4SMatthias Ringwald hog_mouse_demo.gatt \ 341*225f4ba4SMatthias Ringwald sm_pairing_peripheral.gatt \ 342*225f4ba4SMatthias Ringwald sm_pairing_central.gatt \ 343*225f4ba4SMatthias Ringwald spp_and_le_counter.gatt \ 344*225f4ba4SMatthias Ringwald spp_and_le_streamer.gatt \ 345*225f4ba4SMatthias Ringwald 346*225f4ba4SMatthias Ringwaldinclude ${BTSTACK_ROOT}/3rd-party/bluedroid/decoder/Makefile.inc 347*225f4ba4SMatthias Ringwaldinclude ${BTSTACK_ROOT}/3rd-party/bluedroid/encoder/Makefile.inc 348*225f4ba4SMatthias Ringwald 349*225f4ba4SMatthias RingwaldC_SOURCES += ${SBC_ENCODER} 350*225f4ba4SMatthias RingwaldC_SOURCES += ${SBC_DECODER} 351*225f4ba4SMatthias Ringwald 352*225f4ba4SMatthias Ringwald####################################### 353*225f4ba4SMatthias Ringwald# build the application 354*225f4ba4SMatthias Ringwald####################################### 355*225f4ba4SMatthias Ringwald# list of objects 356*225f4ba4SMatthias RingwaldOBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o))) 357*225f4ba4SMatthias Ringwaldvpath %.c $(sort $(dir $(C_SOURCES))) 358*225f4ba4SMatthias Ringwald# list of ASM program objects 359*225f4ba4SMatthias RingwaldOBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s=.o))) 360*225f4ba4SMatthias Ringwaldvpath %.s $(sort $(dir $(ASM_SOURCES))) 361*225f4ba4SMatthias Ringwald 362*225f4ba4SMatthias Ringwaldall: \ 363*225f4ba4SMatthias Ringwald $(OBJECTS) \ 364*225f4ba4SMatthias Ringwald $(addprefix $(BUILD_DIR)/,$(GATT_FILES:.gatt=.h)) \ 365*225f4ba4SMatthias Ringwald $(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.elf)) \ 366*225f4ba4SMatthias Ringwald $(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.hex)) \ 367*225f4ba4SMatthias Ringwald $(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.bin)) \ 368*225f4ba4SMatthias Ringwald $(addprefix $(BUILD_DIR)/,$(EXAMPLES:=.jdebug)) \ 369*225f4ba4SMatthias Ringwald 370*225f4ba4SMatthias Ringwaldinclude ${BTSTACK_ROOT}/chipset/cc256x/Makefile.inc 371*225f4ba4SMatthias Ringwald 372*225f4ba4SMatthias Ringwald$(BUILD_DIR)/%.h: %.gatt 373*225f4ba4SMatthias Ringwald python ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ 374*225f4ba4SMatthias Ringwald 375*225f4ba4SMatthias Ringwald$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) 376*225f4ba4SMatthias Ringwald $(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@ 377*225f4ba4SMatthias Ringwald 378*225f4ba4SMatthias Ringwald$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR) 379*225f4ba4SMatthias Ringwald $(AS) -c $(CFLAGS) $< -o $@ 380*225f4ba4SMatthias Ringwald 381*225f4ba4SMatthias Ringwald$(BUILD_DIR)/%.elf: Makefile $(OBJECTS) $(BUILD_DIR)/%.o 382*225f4ba4SMatthias Ringwald $(CC) $(filter-out Makefile,$^) $(LDFLAGS) -o $@ 383*225f4ba4SMatthias Ringwald $(SZ) $@ 384*225f4ba4SMatthias Ringwald 385*225f4ba4SMatthias Ringwald$(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR) 386*225f4ba4SMatthias Ringwald $(HEX) $< $@ 387*225f4ba4SMatthias Ringwald 388*225f4ba4SMatthias Ringwald$(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR) 389*225f4ba4SMatthias Ringwald $(BIN) $< $@ 390*225f4ba4SMatthias Ringwald 391*225f4ba4SMatthias Ringwald$(BUILD_DIR)/%.jdebug: ozone.jdebug | $(BUILD_DIR) 392*225f4ba4SMatthias Ringwald sed -e "s|EXAMPLE|$(basename $(notdir $@))|" $< > $@ 393*225f4ba4SMatthias Ringwald 394*225f4ba4SMatthias Ringwald$(BUILD_DIR): 395*225f4ba4SMatthias Ringwald mkdir $@ 396*225f4ba4SMatthias Ringwald 397*225f4ba4SMatthias Ringwald####################################### 398*225f4ba4SMatthias Ringwald# clean up 399*225f4ba4SMatthias Ringwald####################################### 400*225f4ba4SMatthias Ringwaldclean: 401*225f4ba4SMatthias Ringwald -rm -fR $(BUILD_DIR) 402*225f4ba4SMatthias Ringwald 403*225f4ba4SMatthias Ringwald####################################### 404*225f4ba4SMatthias Ringwald# dependencies 405*225f4ba4SMatthias Ringwald####################################### 406*225f4ba4SMatthias Ringwald-include $(wildcard $(BUILD_DIR)/*.d) 407*225f4ba4SMatthias Ringwald 408*225f4ba4SMatthias Ringwald# *** EOF *** 409