# This file was automagically generated by mbed.org. For more information, 
# see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded

###############################################################################
# Boiler-plate

# cross-platform directory manipulation
ifeq ($(shell echo $$OS),$$OS)
    MAKEDIR = if not exist "$(1)" mkdir "$(1)"
    RM = rmdir /S /Q "$(1)"
else
    MAKEDIR = '$(SHELL)' -c "mkdir -p \"$(1)\""
    RM = '$(SHELL)' -c "rm -rf \"$(1)\""
endif

OBJDIR := BUILD
# Move to the build directory
ifeq (,$(filter $(OBJDIR),$(notdir $(CURDIR))))
.SUFFIXES:
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
MAKETARGET = '$(MAKE)' --no-print-directory -C $(OBJDIR) -f '$(mkfile_path)' \
		'SRCDIR=$(CURDIR)' $(MAKECMDGOALS)
.PHONY: $(OBJDIR) clean
all:
	+@$(call MAKEDIR,$(OBJDIR))
	+@$(MAKETARGET)
$(OBJDIR): all
Makefile : ;
% :: $(OBJDIR) ; :
clean :
	$(call RM,$(OBJDIR))

else

# trick rules into thinking we are in the root, when we are in the bulid dir
VPATH = ..

# Boiler-plate
###############################################################################
# Project settings

PROJECT := Nixie_FW


# Project settings
###############################################################################
# Objects and Paths

OBJECTS += SWO/SWO.o
OBJECTS += main.o
OBJECTS += tusb322.o
OBJECTS += ds3231.o
OBJECTS += pca9685.o
OBJECTS += ioc.o
OBJECTS += animation.o
OBJECTS += mbed-dev/cmsis/TARGET_CORTEX_M/mbed_tz_context.o
OBJECTS += mbed-dev/drivers/AnalogIn.o
OBJECTS += mbed-dev/drivers/BusIn.o
OBJECTS += mbed-dev/drivers/BusInOut.o
OBJECTS += mbed-dev/drivers/BusOut.o
OBJECTS += mbed-dev/drivers/CAN.o
OBJECTS += mbed-dev/drivers/Ethernet.o
OBJECTS += mbed-dev/drivers/FlashIAP.o
OBJECTS += mbed-dev/drivers/I2C.o
OBJECTS += mbed-dev/drivers/I2CSlave.o
OBJECTS += mbed-dev/drivers/InterruptIn.o
OBJECTS += mbed-dev/drivers/InterruptManager.o
OBJECTS += mbed-dev/drivers/MbedCRC.o
OBJECTS += mbed-dev/drivers/RawSerial.o
OBJECTS += mbed-dev/drivers/SPI.o
OBJECTS += mbed-dev/drivers/SPISlave.o
OBJECTS += mbed-dev/drivers/Serial.o
OBJECTS += mbed-dev/drivers/SerialBase.o
OBJECTS += mbed-dev/drivers/TableCRC.o
OBJECTS += mbed-dev/drivers/Ticker.o
OBJECTS += mbed-dev/drivers/Timeout.o
OBJECTS += mbed-dev/drivers/Timer.o
OBJECTS += mbed-dev/drivers/TimerEvent.o
OBJECTS += mbed-dev/drivers/UARTSerial.o
OBJECTS += mbed-dev/hal/mbed_critical_section_api.o
OBJECTS += mbed-dev/hal/mbed_flash_api.o
OBJECTS += mbed-dev/hal/mbed_gpio.o
OBJECTS += mbed-dev/hal/mbed_itm_api.o
OBJECTS += mbed-dev/hal/mbed_lp_ticker_api.o
OBJECTS += mbed-dev/hal/mbed_lp_ticker_wrapper.o
OBJECTS += mbed-dev/hal/mbed_pinmap_common.o
OBJECTS += mbed-dev/hal/mbed_sleep_manager.o
OBJECTS += mbed-dev/hal/mbed_ticker_api.o
OBJECTS += mbed-dev/hal/mbed_us_ticker_api.o
OBJECTS += mbed-dev/platform/ATCmdParser.o
OBJECTS += mbed-dev/platform/CallChain.o
OBJECTS += mbed-dev/platform/FileBase.o
OBJECTS += mbed-dev/platform/FileHandle.o
OBJECTS += mbed-dev/platform/FilePath.o
OBJECTS += mbed-dev/platform/FileSystemHandle.o
OBJECTS += mbed-dev/platform/LocalFileSystem.o
OBJECTS += mbed-dev/platform/Stream.o
OBJECTS += mbed-dev/platform/mbed_alloc_wrappers.o
OBJECTS += mbed-dev/platform/mbed_application.o
OBJECTS += mbed-dev/platform/mbed_assert.o
OBJECTS += mbed-dev/platform/mbed_board.o
OBJECTS += mbed-dev/platform/mbed_critical.o
OBJECTS += mbed-dev/platform/mbed_error.o
OBJECTS += mbed-dev/platform/mbed_error_hist.o
OBJECTS += mbed-dev/platform/mbed_interface.o
OBJECTS += mbed-dev/platform/mbed_mem_trace.o
OBJECTS += mbed-dev/platform/mbed_mktime.o
OBJECTS += mbed-dev/platform/mbed_poll.o
OBJECTS += mbed-dev/platform/mbed_retarget.o
OBJECTS += mbed-dev/platform/mbed_rtc_time.o
OBJECTS += mbed-dev/platform/mbed_sdk_boot.o
OBJECTS += mbed-dev/platform/mbed_semihost_api.o
OBJECTS += mbed-dev/platform/mbed_stats.o
OBJECTS += mbed-dev/platform/mbed_wait_api_no_rtos.o
OBJECTS += mbed-dev/platform/mbed_wait_api_rtos.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/TARGET_NUCLEO_L432KC/PeripheralPins.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/TARGET_NUCLEO_L432KC/system_clock.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/device/TOOLCHAIN_GCC_ARM/startup_stm32l432xx.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/analogin_device.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/analogout_device.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_adc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_adc_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_can.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_can_legacy.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_comp.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_cortex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_crc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_crc_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_cryp.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_cryp_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dac.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dac_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dcmi.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dfsdm.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dfsdm_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dma.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dma2d.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dma_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_dsi.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_firewall.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_flash.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_flash_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_flash_ramfunc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_gfxmmu.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_gpio.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_hash.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_hash_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_hcd.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_i2c.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_i2c_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_irda.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_iwdg.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_lcd.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_lptim.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_ltdc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_ltdc_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_nand.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_nor.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_opamp.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_opamp_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_ospi.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_pcd.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_pcd_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_pwr.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_pwr_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_qspi.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_rcc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_rcc_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_rng.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_rtc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_rtc_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_sai.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_sai_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_sd.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_sd_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_smartcard.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_smartcard_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_smbus.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_spi.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_spi_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_sram.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_swpmi.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_tim.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_tim_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_tsc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_uart.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_uart_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_usart.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_usart_ex.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_hal_wwdg.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_adc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_comp.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_crc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_crs.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_dac.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_dma.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_dma2d.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_exti.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_fmc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_gpio.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_i2c.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_lptim.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_lpuart.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_opamp.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_pwr.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_rcc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_rng.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_rtc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_sdmmc.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_spi.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_swpmi.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_tim.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_usart.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_usb.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_utils.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device/system_stm32l4xx.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/flash_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/gpio_irq_device.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/l4_retarget.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/pwmout_device.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/serial_device.o
OBJECTS += mbed-dev/targets/TARGET_STM/TARGET_STM32L4/spi_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/analogin_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/analogout_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/can_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/gpio_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/gpio_irq_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/hal_tick_overrides.o
OBJECTS += mbed-dev/targets/TARGET_STM/i2c_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/lp_ticker.o
OBJECTS += mbed-dev/targets/TARGET_STM/mbed_crc_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/mbed_overrides.o
OBJECTS += mbed-dev/targets/TARGET_STM/pinmap.o
OBJECTS += mbed-dev/targets/TARGET_STM/port_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/pwmout_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/rtc_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/serial_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/sleep.o
OBJECTS += mbed-dev/targets/TARGET_STM/stm_spi_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/trng_api.o
OBJECTS += mbed-dev/targets/TARGET_STM/us_ticker.o


INCLUDE_PATHS += -I../.
INCLUDE_PATHS += -I../SWO
INCLUDE_PATHS += -I../mbed-dev
INCLUDE_PATHS += -I../mbed-dev/cmsis
INCLUDE_PATHS += -I../mbed-dev/cmsis/TARGET_CORTEX_M
INCLUDE_PATHS += -I../mbed-dev/drivers
INCLUDE_PATHS += -I../mbed-dev/hal
INCLUDE_PATHS += -I../mbed-dev/hal/storage_abstraction
INCLUDE_PATHS += -I../mbed-dev/platform
INCLUDE_PATHS += -I../mbed-dev/targets/TARGET_STM
INCLUDE_PATHS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4
INCLUDE_PATHS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC
INCLUDE_PATHS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/TARGET_NUCLEO_L432KC
INCLUDE_PATHS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/device
INCLUDE_PATHS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device

LIBRARY_PATHS :=
LIBRARIES :=
LINKER_SCRIPT ?= ../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/device/TOOLCHAIN_GCC_ARM/STM32L432XX.ld

# Objects and Paths
###############################################################################
# Tools and Flags

AS      = arm-none-eabi-gcc
CC      = arm-none-eabi-gcc
CPP     = arm-none-eabi-g++
LD      = arm-none-eabi-gcc
ELF2BIN = arm-none-eabi-objcopy
PREPROC = arm-none-eabi-cpp -E -P -Wl,--gc-sections -Wl,--wrap,main -Wl,--wrap,_malloc_r -Wl,--wrap,_free_r -Wl,--wrap,_realloc_r -Wl,--wrap,_memalign_r -Wl,--wrap,_calloc_r -Wl,--wrap,exit -Wl,--wrap,atexit -Wl,-n -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp


C_FLAGS += -std=gnu99
C_FLAGS += -include
C_FLAGS += mbed_config.h
C_FLAGS += -DDEVICE_CRC=1
C_FLAGS += -DDEVICE_SPI=1
C_FLAGS += -D__MBED__=1
C_FLAGS += -DDEVICE_I2CSLAVE=1
C_FLAGS += -D__FPU_PRESENT=1
C_FLAGS += -DDEVICE_PORTOUT=1
C_FLAGS += -DDEVICE_PORTINOUT=1
C_FLAGS += -DTARGET_RTOS_M4_M7
C_FLAGS += -DDEVICE_RTC=1
C_FLAGS += -DDEVICE_SERIAL_ASYNCH=1
C_FLAGS += -D__CMSIS_RTOS
C_FLAGS += -DTOOLCHAIN_GCC
C_FLAGS += -DDEVICE_I2C_ASYNCH=1
C_FLAGS += -DTARGET_CORTEX_M
C_FLAGS += -DTARGET_LIKE_CORTEX_M4
C_FLAGS += -DDEVICE_ANALOGOUT=1
C_FLAGS += -DTARGET_M4
C_FLAGS += -DTARGET_STM32L4
C_FLAGS += -DDEVICE_SPI_ASYNCH=1
C_FLAGS += -DDEVICE_LPTICKER=1
C_FLAGS += -DDEVICE_PWMOUT=1
C_FLAGS += -DTARGET_STM32L432xC
C_FLAGS += -DTARGET_CORTEX
C_FLAGS += -DDEVICE_I2C=1
C_FLAGS += -DTRANSACTION_QUEUE_SIZE_SPI=2
C_FLAGS += -D__CORTEX_M4
C_FLAGS += -DDEVICE_STDIO_MESSAGES=1
C_FLAGS += -DTARGET_FAMILY_STM32
C_FLAGS += -DTARGET_FF_ARDUINO
C_FLAGS += -DDEVICE_PORTIN=1
C_FLAGS += -DTARGET_RELEASE
C_FLAGS += -DTARGET_STM
C_FLAGS += -DTARGET_STM32L432KC
C_FLAGS += -DDEVICE_SERIAL_FC=1
C_FLAGS += -DDEVICE_USTICKER=1
C_FLAGS += -DDEVICE_TRNG=1
C_FLAGS += -DTARGET_LIKE_MBED
C_FLAGS += -D__MBED_CMSIS_RTOS_CM
C_FLAGS += -DDEVICE_SLEEP=1
C_FLAGS += -DTOOLCHAIN_GCC_ARM
C_FLAGS += -DDEVICE_CAN=1
C_FLAGS += -DMBED_BUILD_TIMESTAMP=1543192334.62
C_FLAGS += -DDEVICE_INTERRUPTIN=1
C_FLAGS += -DDEVICE_SPISLAVE=1
C_FLAGS += -DDEVICE_ANALOGIN=1
C_FLAGS += -DDEVICE_SERIAL=1
C_FLAGS += -DDEVICE_FLASH=1
C_FLAGS += -DTARGET_NUCLEO_L432KC
C_FLAGS += -DARM_MATH_CM4
C_FLAGS += -include
C_FLAGS += mbed_config.h
C_FLAGS += -std=gnu99
C_FLAGS += -c
C_FLAGS += -Wall
C_FLAGS += -Wextra
C_FLAGS += -Wno-unused-parameter
C_FLAGS += -Wno-missing-field-initializers
C_FLAGS += -fmessage-length=0
C_FLAGS += -fno-exceptions
C_FLAGS += -fno-builtin
C_FLAGS += -ffunction-sections
C_FLAGS += -fdata-sections
C_FLAGS += -funsigned-char
C_FLAGS += -MMD
C_FLAGS += -fno-delete-null-pointer-checks
C_FLAGS += -fomit-frame-pointer
C_FLAGS += -Os
C_FLAGS += -g1
C_FLAGS += -mcpu=cortex-m4
C_FLAGS += -mthumb
C_FLAGS += -mfpu=fpv4-sp-d16
C_FLAGS += -mfloat-abi=softfp
C_FLAGS += -DMBED_ROM_START=0x8000000
C_FLAGS += -DMBED_ROM_SIZE=0x40000

CXX_FLAGS += -std=gnu++98
CXX_FLAGS += -fno-rtti
CXX_FLAGS += -Wvla
CXX_FLAGS += -include
CXX_FLAGS += mbed_config.h
CXX_FLAGS += -DDEVICE_CRC=1
CXX_FLAGS += -DDEVICE_SPI=1
CXX_FLAGS += -D__MBED__=1
CXX_FLAGS += -DDEVICE_I2CSLAVE=1
CXX_FLAGS += -D__FPU_PRESENT=1
CXX_FLAGS += -DDEVICE_PORTOUT=1
CXX_FLAGS += -DDEVICE_PORTINOUT=1
CXX_FLAGS += -DTARGET_RTOS_M4_M7
CXX_FLAGS += -DDEVICE_RTC=1
CXX_FLAGS += -DDEVICE_SERIAL_ASYNCH=1
CXX_FLAGS += -D__CMSIS_RTOS
CXX_FLAGS += -DTOOLCHAIN_GCC
CXX_FLAGS += -DDEVICE_I2C_ASYNCH=1
CXX_FLAGS += -DTARGET_CORTEX_M
CXX_FLAGS += -DTARGET_LIKE_CORTEX_M4
CXX_FLAGS += -DDEVICE_ANALOGOUT=1
CXX_FLAGS += -DTARGET_M4
CXX_FLAGS += -DTARGET_STM32L4
CXX_FLAGS += -DDEVICE_SPI_ASYNCH=1
CXX_FLAGS += -DDEVICE_LPTICKER=1
CXX_FLAGS += -DDEVICE_PWMOUT=1
CXX_FLAGS += -DTARGET_STM32L432xC
CXX_FLAGS += -DTARGET_CORTEX
CXX_FLAGS += -DDEVICE_I2C=1
CXX_FLAGS += -DTRANSACTION_QUEUE_SIZE_SPI=2
CXX_FLAGS += -D__CORTEX_M4
CXX_FLAGS += -DDEVICE_STDIO_MESSAGES=1
CXX_FLAGS += -DTARGET_FAMILY_STM32
CXX_FLAGS += -DTARGET_FF_ARDUINO
CXX_FLAGS += -DDEVICE_PORTIN=1
CXX_FLAGS += -DTARGET_RELEASE
CXX_FLAGS += -DTARGET_STM
CXX_FLAGS += -DTARGET_STM32L432KC
CXX_FLAGS += -DDEVICE_SERIAL_FC=1
CXX_FLAGS += -DDEVICE_USTICKER=1
CXX_FLAGS += -DDEVICE_TRNG=1
CXX_FLAGS += -DTARGET_LIKE_MBED
CXX_FLAGS += -D__MBED_CMSIS_RTOS_CM
CXX_FLAGS += -DDEVICE_SLEEP=1
CXX_FLAGS += -DTOOLCHAIN_GCC_ARM
CXX_FLAGS += -DDEVICE_CAN=1
CXX_FLAGS += -DMBED_BUILD_TIMESTAMP=1543192334.62
CXX_FLAGS += -DDEVICE_INTERRUPTIN=1
CXX_FLAGS += -DDEVICE_SPISLAVE=1
CXX_FLAGS += -DDEVICE_ANALOGIN=1
CXX_FLAGS += -DDEVICE_SERIAL=1
CXX_FLAGS += -DDEVICE_FLASH=1
CXX_FLAGS += -DTARGET_NUCLEO_L432KC
CXX_FLAGS += -DARM_MATH_CM4
CXX_FLAGS += -include
CXX_FLAGS += mbed_config.h
CXX_FLAGS += -std=gnu++98
CXX_FLAGS += -fno-rtti
CXX_FLAGS += -Wvla
CXX_FLAGS += -c
CXX_FLAGS += -Wall
CXX_FLAGS += -Wextra
CXX_FLAGS += -Wno-unused-parameter
CXX_FLAGS += -Wno-missing-field-initializers
CXX_FLAGS += -fmessage-length=0
CXX_FLAGS += -fno-exceptions
CXX_FLAGS += -fno-builtin
CXX_FLAGS += -ffunction-sections
CXX_FLAGS += -fdata-sections
CXX_FLAGS += -funsigned-char
CXX_FLAGS += -MMD
CXX_FLAGS += -fno-delete-null-pointer-checks
CXX_FLAGS += -fomit-frame-pointer
CXX_FLAGS += -Os
CXX_FLAGS += -g1
CXX_FLAGS += -mcpu=cortex-m4
CXX_FLAGS += -mthumb
CXX_FLAGS += -mfpu=fpv4-sp-d16
CXX_FLAGS += -mfloat-abi=softfp
CXX_FLAGS += -DMBED_ROM_START=0x8000000
CXX_FLAGS += -DMBED_ROM_SIZE=0x40000

ASM_FLAGS += -x
ASM_FLAGS += assembler-with-cpp
ASM_FLAGS += -DTRANSACTION_QUEUE_SIZE_SPI=2
ASM_FLAGS += -D__CORTEX_M4
ASM_FLAGS += -DARM_MATH_CM4
ASM_FLAGS += -D__FPU_PRESENT=1
ASM_FLAGS += -D__MBED_CMSIS_RTOS_CM
ASM_FLAGS += -D__CMSIS_RTOS
ASM_FLAGS += -I../.
ASM_FLAGS += -I../SWO
ASM_FLAGS += -I../mbed-dev
ASM_FLAGS += -I../mbed-dev/cmsis
ASM_FLAGS += -I../mbed-dev/cmsis/TARGET_CORTEX_M
ASM_FLAGS += -I../mbed-dev/drivers
ASM_FLAGS += -I../mbed-dev/hal
ASM_FLAGS += -I../mbed-dev/hal/storage_abstraction
ASM_FLAGS += -I../mbed-dev/platform
ASM_FLAGS += -I../mbed-dev/targets/TARGET_STM
ASM_FLAGS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4
ASM_FLAGS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC
ASM_FLAGS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/TARGET_NUCLEO_L432KC
ASM_FLAGS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L432xC/device
ASM_FLAGS += -I../mbed-dev/targets/TARGET_STM/TARGET_STM32L4/device

LD_FLAGS :=-Wl,--gc-sections -Wl,--wrap,main -Wl,--wrap,_malloc_r -Wl,--wrap,_free_r -Wl,--wrap,_realloc_r -Wl,--wrap,_memalign_r -Wl,--wrap,_calloc_r -Wl,--wrap,exit -Wl,--wrap,atexit -Wl,-n -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp 
LD_SYS_LIBS :=-Wl,--start-group -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys  -Wl,--end-group

# Tools and Flags
###############################################################################
# Rules

.PHONY: all lst size


all: $(PROJECT).bin $(PROJECT).hex $(PROJECT).dfu size


.s.o:
	+@$(call MAKEDIR,$(dir $@))
	+@echo "Assemble: $(notdir $<)"
  
	@$(AS) -c $(ASM_FLAGS) -o $@ $<
  


.S.o:
	+@$(call MAKEDIR,$(dir $@))
	+@echo "Assemble: $(notdir $<)"
  
	@$(AS) -c $(ASM_FLAGS) -o $@ $<
  

.c.o:
	+@$(call MAKEDIR,$(dir $@))
	+@echo "Compile: $(notdir $<)"
	@$(CC) $(C_FLAGS) $(INCLUDE_PATHS) -o $@ $<

.cpp.o:
	+@$(call MAKEDIR,$(dir $@))
	+@echo "Compile: $(notdir $<)"
	@$(CPP) $(CXX_FLAGS) $(INCLUDE_PATHS) -o $@ $<


$(PROJECT).link_script.ld: $(LINKER_SCRIPT)
	@$(PREPROC) $< -o $@



$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS) $(PROJECT).link_script.ld 
	+@echo "link: $(notdir $@)"
	@$(LD) $(LD_FLAGS) -T $(filter-out %.o, $^) $(LIBRARY_PATHS) --output $@ $(filter %.o, $^) $(LIBRARIES) $(LD_SYS_LIBS)


$(PROJECT).bin: $(PROJECT).elf
	$(ELF2BIN) -O binary $< $@
	+@echo "===== bin file ready to flash: $(OBJDIR)/$@ =====" 

$(PROJECT).hex: $(PROJECT).elf
	$(ELF2BIN) -O ihex $< $@

$(PROJECT).dfu: $(PROJECT).bin
	python $(VPATH)/dfu.py -b 0x08000000:$< -D 0x0483:0xdf11 $@
	+@echo "===== dfu file ready to flash: $(OBJDIR)/$@ =====" 


# Rules
###############################################################################
# Dependencies

DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
-include $(DEPS)
endif

# Dependencies
###############################################################################
