############################################################################################
#
# OnMicro makefile
#
############################################################################################

# Project
PROJECT = ble_app_multilink

# SDK ROOT dir and current ROM/Library dir
ROOT_DIR = ../../../
CUR_ROMLIB_DIR = $(ROOT_DIR)hal/device/om6626/rom_lib/current/

# Defines
DEFINES = CONFIG_OM6626A=1 CONFIG_LIB_PRESET_BLE_FULL CONFIG_AUTOCONF_PRESET _start=main

# Optimization: 0, 1, 2, 3, s, 4(ultrasize)
CONFIG_OPTIMIZATION_LEVEL = 4

# is create library ?
CONFIG_LIB_GENERATE = n

# Postbuild prog
POSTBUILDPROG =

# library
LIBRARIES =

# Sources
SOURCES = \
    $(ROOT_DIR)bsp/OM662X_EVB/board_om6626a_evb.c \
    $(ROOT_DIR)common/om_libc_retarget.c \
    $(ROOT_DIR)common/om_printf.c \
    $(ROOT_DIR)common/om_fifo.c \
    $(ROOT_DIR)common/om_list.c \
    $(ROOT_DIR)common/om_utils.c \
    $(ROOT_DIR)common/om_log.c \
    $(ROOT_DIR)components/shell/shell.c \
    $(ROOT_DIR)components/shell/shell_cmd.c \
    $(ROOT_DIR)components/shell/shell_port.c \
    $(ROOT_DIR)components/unity/unity_fixture.c \
    $(ROOT_DIR)components/unity/unity.c \
    $(ROOT_DIR)components/ble/common/ob_mem_heap.c \
    $(ROOT_DIR)components/evt/evt.c \
    $(ROOT_DIR)components/evt/evt_timer.c \
    $(ROOT_DIR)components/crypto/sha256.c \
    $(ROOT_DIR)components/crypto/micro_ecc/uECC.c \
    $(ROOT_DIR)components/pm/pm.c \
    $(ROOT_DIR)components/mbr/mbr.c \
    $(ROOT_DIR)components/trace/trc_io.c \
    $(ROOT_DIR)hal/driver/common/drv_isr.c \
    $(ROOT_DIR)hal/driver/common/drv_usart.c \
    $(ROOT_DIR)hal/driver/common/drv_usart_ex.c \
    $(ROOT_DIR)hal/driver/common/drv_wdt.c \
    $(ROOT_DIR)hal/driver/common/drv_pmu_timer.c \
    $(ROOT_DIR)hal/driver/common/drv_cortex.c \
    $(ROOT_DIR)hal/driver/common/drv_24g.c \
    $(ROOT_DIR)hal/driver/common/drv_aes_hw.c \
    $(ROOT_DIR)hal/driver/common/drv_gpio.c \
    $(ROOT_DIR)hal/driver/common/drv_efuse.c \
    $(ROOT_DIR)hal/driver/common/drv_sf_base.c \
    $(ROOT_DIR)hal/driver/common/drv_sf_sys.c \
    $(ROOT_DIR)hal/driver/common/drv_sf.c \
    $(ROOT_DIR)hal/driver/common/drv_dma.c \
    $(ROOT_DIR)hal/driver/common/drv_spi.c \
    $(ROOT_DIR)hal/driver/common/drv_i2c.c \
    $(ROOT_DIR)hal/driver/common/drv_rtc.c \
    $(ROOT_DIR)hal/driver/common/drv_radio.c \
    $(ROOT_DIR)hal/driver/common/drv_tim.c \
    $(ROOT_DIR)hal/driver/common/drv_lp_tim.c \
    $(ROOT_DIR)hal/driver/common/drv_rng.c \
    $(ROOT_DIR)hal/driver/om6626/drv_pinmux.c \
    $(ROOT_DIR)hal/driver/om6626/drv_pmu.c \
    $(ROOT_DIR)hal/driver/om6626/drv_rcc.c \
    $(ROOT_DIR)hal/driver/om6626/drv_calib.c \
    $(ROOT_DIR)hal/driver/om6626/drv_calib_repair.c \
    $(ROOT_DIR)hal/driver/om6626/drv_adc.c \
    $(ROOT_DIR)hal/device/om6626/GCC/system_asm.S \
    $(ROOT_DIR)hal/device/om6626/GCC/startup.S \
    $(ROOT_DIR)hal/device/om6626/system.c \
    $(ROOT_DIR)projects/ble_app_multilink/src/main/main.c \
    $(ROOT_DIR)projects/ble_app_multilink/src/main/app_adv.c \
    $(ROOT_DIR)projects/ble_app_multilink/src/main/app_conn.c \
    $(ROOT_DIR)projects/ble_app_multilink/src/main/app_scan.c \
    $(ROOT_DIR)projects/ble_app_multilink/src/main/app_gatt_client.c \
    $(ROOT_DIR)projects/ble_app_multilink/src/main/app_sec.c \
    $(ROOT_DIR)projects/ble_app_multilink/src/main/app_common.c \
    $(ROOT_DIR)projects/ble_app_multilink/src/main/app_shell.c \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_ancs/ancs_client.c \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_dfu/onmicro_dfu.c \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_dfu/onmicro_dfu_nvds.c \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_dfu/service_onmicro_dfu.c \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_gap_dis_batt/service_common.c \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_hid_media/app_hid_media.c \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_tspp/service_tspp.c \


# Includes
INCLUDES = \
    $(ROOT_DIR)bsp/include \
    $(ROOT_DIR)bsp/OM662X_EVB \
    $(ROOT_DIR)common/ \
    $(ROOT_DIR)components/shell/ \
    $(ROOT_DIR)components/unity \
    $(ROOT_DIR)components/ble/include/ \
    $(ROOT_DIR)components/ble/controller/include/ \
    $(ROOT_DIR)components/ble/host/include/ \
    $(ROOT_DIR)components/ble/mesh/include/ \
    $(ROOT_DIR)components/nvds/ \
    $(ROOT_DIR)components/evt/ \
    $(ROOT_DIR)components/crypto/ \
    $(ROOT_DIR)components/crypto/micro_ecc \
    $(ROOT_DIR)components/pm \
    $(ROOT_DIR)components/mbr \
    $(ROOT_DIR)components/trace \
    $(ROOT_DIR)hal/CMSIS/Core/Include \
    $(ROOT_DIR)hal/driver/include \
    $(ROOT_DIR)hal/device/include \
    $(ROOT_DIR)projects/ble_app_multilink/src/main \
    $(ROOT_DIR)projects/ble_app_multilink/../common \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_ancs \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_dfu \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_gap_dis_batt \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_hid_media \
    $(ROOT_DIR)projects/ble_app_multilink/../common/om_tspp \
    $(ROOT_DIR)include \


# ld and library
LDSCRIPT = $(ROOT_DIR)hal/device/om6626/rom_lib/current/GCC/linker_flash.ld
LDEXTFILE = $(ROOT_DIR)hal/device/om6626/rom_lib/current/GCC/linker_ble_full.mk

# rules
include $(ROOT_DIR)tools/build/rules_prj.mk

