From 6f8e0e257eec0d1b675b410c19d84a24dfc9fea9 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Fri, 8 May 2015 14:04:32 +0000 Subject: Smart build option in mk files. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7956 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- demos/STM32/RT-STM32F407-DISCOVERY/halconf.h | 2 +- demos/STM32/RT-STM32F407-DISCOVERY/mcuconf.h | 2 +- os/hal/hal.mk | 114 ++++++++++++++---- os/hal/ports/STM32/STM32F0xx/platform.mk | 100 +++++++++++----- os/hal/ports/STM32/STM32F1xx/platform.mk | 115 +++++++++++++----- os/hal/ports/STM32/STM32F1xx/platform_f105_f107.mk | 114 +++++++++++++----- os/hal/ports/STM32/STM32F37x/platform.mk | 105 ++++++++++++----- os/hal/ports/STM32/STM32F3xx/platform.mk | 105 ++++++++++++----- os/hal/ports/STM32/STM32F4xx/platform.mk | 129 +++++++++++++++------ os/hal/ports/STM32/STM32L1xx/platform.mk | 100 +++++++++++----- os/rt/rt.mk | 92 +++++++++++---- 11 files changed, 729 insertions(+), 249 deletions(-) diff --git a/demos/STM32/RT-STM32F407-DISCOVERY/halconf.h b/demos/STM32/RT-STM32F407-DISCOVERY/halconf.h index 3e61eeaf9..d22a2c474 100644 --- a/demos/STM32/RT-STM32F407-DISCOVERY/halconf.h +++ b/demos/STM32/RT-STM32F407-DISCOVERY/halconf.h @@ -160,7 +160,7 @@ * @brief Enables the USB subsystem. */ #if !defined(HAL_USE_USB) || defined(__DOXYGEN__) -#define HAL_USE_USB FALSE +#define HAL_USE_USB TRUE #endif /*===========================================================================*/ diff --git a/demos/STM32/RT-STM32F407-DISCOVERY/mcuconf.h b/demos/STM32/RT-STM32F407-DISCOVERY/mcuconf.h index f792eb4b9..4eb313e07 100644 --- a/demos/STM32/RT-STM32F407-DISCOVERY/mcuconf.h +++ b/demos/STM32/RT-STM32F407-DISCOVERY/mcuconf.h @@ -309,7 +309,7 @@ /* * USB driver system settings. */ -#define STM32_USB_USE_OTG1 FALSE +#define STM32_USB_USE_OTG1 TRUE #define STM32_USB_USE_OTG2 FALSE #define STM32_USB_OTG1_IRQ_PRIORITY 14 #define STM32_USB_OTG2_IRQ_PRIORITY 14 diff --git a/os/hal/hal.mk b/os/hal/hal.mk index c0c239228..074970dc6 100644 --- a/os/hal/hal.mk +++ b/os/hal/hal.mk @@ -1,28 +1,94 @@ # List of all the ChibiOS/HAL files, there is no need to remove the files # from this list, you can disable parts of the HAL by editing halconf.h. -HALSRC = ${CHIBIOS}/os/hal/src/hal.c \ - ${CHIBIOS}/os/hal/src/hal_queues.c \ - ${CHIBIOS}/os/hal/src/hal_mmcsd.c \ - ${CHIBIOS}/os/hal/src/adc.c \ - ${CHIBIOS}/os/hal/src/can.c \ - ${CHIBIOS}/os/hal/src/dac.c \ - ${CHIBIOS}/os/hal/src/ext.c \ - ${CHIBIOS}/os/hal/src/gpt.c \ - ${CHIBIOS}/os/hal/src/i2c.c \ - ${CHIBIOS}/os/hal/src/i2s.c \ - ${CHIBIOS}/os/hal/src/icu.c \ - ${CHIBIOS}/os/hal/src/mac.c \ - ${CHIBIOS}/os/hal/src/mmc_spi.c \ - ${CHIBIOS}/os/hal/src/pal.c \ - ${CHIBIOS}/os/hal/src/pwm.c \ - ${CHIBIOS}/os/hal/src/rtc.c \ - ${CHIBIOS}/os/hal/src/sdc.c \ - ${CHIBIOS}/os/hal/src/serial.c \ - ${CHIBIOS}/os/hal/src/serial_usb.c \ - ${CHIBIOS}/os/hal/src/spi.c \ - ${CHIBIOS}/os/hal/src/st.c \ - ${CHIBIOS}/os/hal/src/uart.c \ - ${CHIBIOS}/os/hal/src/usb.c +ifeq ($(USE_SMART_BUILD),yes) +HALCONF := $(strip $(shell cat halconf.h | egrep -e "define")) + +HALSRC := $(CHIBIOS)/os/hal/src/hal.c \ + $(CHIBIOS)/os/hal/src/st.c \ + $(CHIBIOS)/os/hal/src/hal_queues.c \ + $(CHIBIOS)/os/hal/src/hal_mmcsd.c +ifneq ($(findstring HAL_USE_ADC TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/adc.c +endif +ifneq ($(findstring HAL_USE_CAN TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/can.c +endif +ifneq ($(findstring HAL_USE_DAC TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/dac.c +endif +ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/ext.c +endif +ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/gpt.c +endif +ifneq ($(findstring HAL_USE_I2C TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/i2c.c +endif +ifneq ($(findstring HAL_USE_I2S TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/i2s.c +endif +ifneq ($(findstring HAL_USE_ICU TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/icu.c +endif +ifneq ($(findstring HAL_USE_MAC TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/mac.c +endif +ifneq ($(findstring HAL_USE_MMC_SPI TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/mmc_spi.c +endif +ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/pal.c +endif +ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/pwm.c +endif +ifneq ($(findstring HAL_USE_RTC TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/rtc.c +endif +ifneq ($(findstring HAL_USE_SDC TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/sdc.c +endif +ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/serial.c +endif +ifneq ($(findstring HAL_USE_SERIAL_USB TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/serial_usb.c +endif +ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/spi.c +endif +ifneq ($(findstring HAL_USE_UART TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/uart.c +endif +ifneq ($(findstring HAL_USE_USB TRUE,$(HALCONF)),) +HALSRC += $(CHIBIOS)/os/hal/src/usb.c +endif +else +HALSRC = $(CHIBIOS)/os/hal/src/hal.c \ + $(CHIBIOS)/os/hal/src/hal_queues.c \ + $(CHIBIOS)/os/hal/src/hal_mmcsd.c \ + $(CHIBIOS)/os/hal/src/adc.c \ + $(CHIBIOS)/os/hal/src/can.c \ + $(CHIBIOS)/os/hal/src/dac.c \ + $(CHIBIOS)/os/hal/src/ext.c \ + $(CHIBIOS)/os/hal/src/gpt.c \ + $(CHIBIOS)/os/hal/src/i2c.c \ + $(CHIBIOS)/os/hal/src/i2s.c \ + $(CHIBIOS)/os/hal/src/icu.c \ + $(CHIBIOS)/os/hal/src/mac.c \ + $(CHIBIOS)/os/hal/src/mmc_spi.c \ + $(CHIBIOS)/os/hal/src/pal.c \ + $(CHIBIOS)/os/hal/src/pwm.c \ + $(CHIBIOS)/os/hal/src/rtc.c \ + $(CHIBIOS)/os/hal/src/sdc.c \ + $(CHIBIOS)/os/hal/src/serial.c \ + $(CHIBIOS)/os/hal/src/serial_usb.c \ + $(CHIBIOS)/os/hal/src/spi.c \ + $(CHIBIOS)/os/hal/src/st.c \ + $(CHIBIOS)/os/hal/src/uart.c \ + $(CHIBIOS)/os/hal/src/usb.c +endif # Required include directories -HALINC = ${CHIBIOS}/os/hal/include +HALINC = $(CHIBIOS)/os/hal/include diff --git a/os/hal/ports/STM32/STM32F0xx/platform.mk b/os/hal/ports/STM32/STM32F0xx/platform.mk index bb42d637e..ff8d917e6 100644 --- a/os/hal/ports/STM32/STM32F0xx/platform.mk +++ b/os/hal/ports/STM32/STM32F0xx/platform.mk @@ -1,30 +1,76 @@ # List of all the STM32F0xx platform files. -PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F0xx/stm32_dma.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F0xx/hal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F0xx/adc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/ext_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +ifeq ($(USE_SMART_BUILD),yes) +HALCONF := $(strip $(shell cat halconf.h | egrep -e "define")) + +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c +ifneq ($(findstring HAL_USE_ADC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/adc_lld.c +endif +ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c +endif +ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c +endif +ifneq ($(findstring "HAL_USE_I2C TRUE",$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c +endif +ifneq ($(findstring HAL_USE_RTC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c +endif +ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c +endif +ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c +endif +ifneq ($(findstring HAL_USE_ICU TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c +endif +ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c +endif +ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c +endif +ifneq ($(findstring HAL_USE_UART TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c +endif +ifneq ($(findstring HAL_USE_USB TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif +else +PLATFORMSRC = $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/adc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif # Required include directories -PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F0xx \ - ${CHIBIOS}/os/hal/ports/STM32/LLD \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1 +PLATFORMINC = $(CHIBIOS)/os/hal/ports/common/ARMCMx \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx \ + $(CHIBIOS)/os/hal/ports/STM32/LLD \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1 diff --git a/os/hal/ports/STM32/STM32F1xx/platform.mk b/os/hal/ports/STM32/STM32F1xx/platform.mk index daff671f2..bef1bea28 100644 --- a/os/hal/ports/STM32/STM32F1xx/platform.mk +++ b/os/hal/ports/STM32/STM32F1xx/platform.mk @@ -1,34 +1,89 @@ # List of all the STM32F1xx platform files. -PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx/stm32_dma.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx/hal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx/adc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/can_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/ext_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/mac_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/sdc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +ifeq ($(USE_SMART_BUILD),yes) +HALCONF := $(strip $(shell cat halconf.h | egrep -e "define")) + +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c +ifneq ($(findstring HAL_USE_ADC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/adc_lld.c +endif +ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c +endif +ifneq ($(findstring HAL_USE_CAN TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c +endif +ifneq ($(findstring HAL_USE_MAC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/mac_lld.c +endif +ifneq ($(findstring HAL_USE_SDC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/sdc_lld.c +endif +ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c +endif +ifneq ($(findstring "HAL_USE_I2C TRUE",$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c +endif +ifneq ($(findstring HAL_USE_RTC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c +endif +ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c +endif +ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c +endif +ifneq ($(findstring HAL_USE_ICU TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c +endif +ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c +endif +ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c +endif +ifneq ($(findstring HAL_USE_UART TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c +endif +ifneq ($(findstring HAL_USE_USB TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif +else +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/adc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/mac_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/sdc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif # Required include directories -PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx \ - ${CHIBIOS}/os/hal/ports/STM32/LLD \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1 +PLATFORMINC := $(CHIBIOS)/os/hal/ports/common/ARMCMx \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx \ + $(CHIBIOS)/os/hal/ports/STM32/LLD \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1 diff --git a/os/hal/ports/STM32/STM32F1xx/platform_f105_f107.mk b/os/hal/ports/STM32/STM32F1xx/platform_f105_f107.mk index 267f78599..2684805b2 100644 --- a/os/hal/ports/STM32/STM32F1xx/platform_f105_f107.mk +++ b/os/hal/ports/STM32/STM32F1xx/platform_f105_f107.mk @@ -1,32 +1,88 @@ # List of all the STM32F1xx platform files. -PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx/stm32_dma.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx/hal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx/adc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/can_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/ext_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/mac_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/sdc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c +ifeq ($(USE_SMART_BUILD),yes) +HALCONF := $(strip $(shell cat halconf.h | egrep -e "define")) + +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c +ifneq ($(findstring HAL_USE_ADC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/adc_lld.c +endif +ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c +endif +ifneq ($(findstring HAL_USE_CAN TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c +endif +ifneq ($(findstring HAL_USE_MAC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/mac_lld.c +endif +ifneq ($(findstring HAL_USE_SDC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/sdc_lld.c +endif +ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c +endif +ifneq ($(findstring "HAL_USE_I2C TRUE",$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c +endif +ifneq ($(findstring HAL_USE_USB TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c +endif +ifneq ($(findstring HAL_USE_RTC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c +endif +ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c +endif +ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c +endif +ifneq ($(findstring HAL_USE_ICU TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c +endif +ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c +endif +ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c +endif +ifneq ($(findstring HAL_USE_UART TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c +endif +else +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/adc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/mac_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/sdc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c +endif # Required include directories -PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F1xx \ - ${CHIBIOS}/os/hal/ports/STM32/LLD \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/OTGv1 +PLATFORMINC := $(CHIBIOS)/os/hal/ports/common/ARMCMx \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx \ + $(CHIBIOS)/os/hal/ports/STM32/LLD \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/OTGv1 diff --git a/os/hal/ports/STM32/STM32F37x/platform.mk b/os/hal/ports/STM32/STM32F37x/platform.mk index 07dcf38af..fb9c957a5 100644 --- a/os/hal/ports/STM32/STM32F37x/platform.mk +++ b/os/hal/ports/STM32/STM32F37x/platform.mk @@ -1,31 +1,80 @@ # List of all the STM32F37x platform files. -PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F37x/stm32_dma.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F37x/hal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F37x/adc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F37x/ext_lld_isr.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/can_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/ext_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +ifeq ($(USE_SMART_BUILD),yes) +HALCONF := $(strip $(shell cat halconf.h | egrep -e "define")) + +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F37x/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F37x/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c +ifneq ($(findstring HAL_USE_ADC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F37x/adc_lld.c +endif +ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F37x/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c +endif +ifneq ($(findstring HAL_USE_CAN TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c +endif +ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c +endif +ifneq ($(findstring "HAL_USE_I2C TRUE",$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c +endif +ifneq ($(findstring HAL_USE_RTC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c +endif +ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c +endif +ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c +endif +ifneq ($(findstring HAL_USE_ICU TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c +endif +ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c +endif +ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c +endif +ifneq ($(findstring HAL_USE_UART TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c +endif +ifneq ($(findstring HAL_USE_USB TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif +else +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F37x/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F37x/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F37x/adc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F37x/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif # Required include directories -PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F37x \ - ${CHIBIOS}/os/hal/ports/STM32/LLD \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1 +PLATFORMINC := $(CHIBIOS)/os/hal/ports/common/ARMCMx \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F37x \ + $(CHIBIOS)/os/hal/ports/STM32/LLD \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1 diff --git a/os/hal/ports/STM32/STM32F3xx/platform.mk b/os/hal/ports/STM32/STM32F3xx/platform.mk index 5851cf65b..fbee8d6d9 100644 --- a/os/hal/ports/STM32/STM32F3xx/platform.mk +++ b/os/hal/ports/STM32/STM32F3xx/platform.mk @@ -1,31 +1,80 @@ # List of all the STM32F3xx platform files. -PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F3xx/stm32_dma.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F3xx/hal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F3xx/adc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/can_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/ext_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +ifeq ($(USE_SMART_BUILD),yes) +HALCONF := $(strip $(shell cat halconf.h | egrep -e "define")) + +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c +ifneq ($(findstring HAL_USE_ADC TRUE,$(HALCONF)),) + $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/adc_lld.c +endif +ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c +endif +ifneq ($(findstring HAL_USE_CAN TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c +endif +ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c +endif +ifneq ($(findstring "HAL_USE_I2C TRUE",$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c +endif +ifneq ($(findstring HAL_USE_RTC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c +endif +ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c +endif +ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c +endif +ifneq ($(findstring HAL_USE_ICU TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c +endif +ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c +endif +ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c +endif +ifneq ($(findstring HAL_USE_UART TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c +endif +ifneq ($(findstring HAL_USE_USB TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif +else +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/adc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif # Required include directories -PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F3xx \ - ${CHIBIOS}/os/hal/ports/STM32/LLD \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1 +PLATFORMINC := $(CHIBIOS)/os/hal/ports/common/ARMCMx \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F3xx \ + $(CHIBIOS)/os/hal/ports/STM32/LLD \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1 diff --git a/os/hal/ports/STM32/STM32F4xx/platform.mk b/os/hal/ports/STM32/STM32F4xx/platform.mk index 067a917d7..157210992 100644 --- a/os/hal/ports/STM32/STM32F4xx/platform.mk +++ b/os/hal/ports/STM32/STM32F4xx/platform.mk @@ -1,37 +1,98 @@ # List of all the STM32F2xx/STM32F4xx platform files. -PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F4xx/stm32_dma.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F4xx/hal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F4xx/adc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/can_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/ext_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/mac_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/sdc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/DACv1/dac_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c +ifeq ($(USE_SMART_BUILD),yes) +HALCONF := $(strip $(shell cat halconf.h | egrep -e "define")) + +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c +ifneq ($(findstring HAL_USE_ADC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/adc_lld.c +endif +ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c +endif +ifneq ($(findstring HAL_USE_CAN TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c +endif +ifneq ($(findstring HAL_USE_MAC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/mac_lld.c +endif +ifneq ($(findstring HAL_USE_SDC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/sdc_lld.c +endif +ifneq ($(findstring HAL_USE_DAC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/DACv1/dac_lld.c +endif +ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c +endif +ifneq ($(findstring "HAL_USE_I2C TRUE",$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c +endif +ifneq ($(findstring HAL_USE_USB TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c +endif +ifneq ($(findstring HAL_USE_RTC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c +endif +ifneq ($(findstring HAL_USE_I2S TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.c +endif +ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c +endif +ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c +endif +ifneq ($(findstring HAL_USE_ICU TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c +endif +ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c +endif +ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c +endif +ifneq ($(findstring HAL_USE_UART TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c +endif +else +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/adc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/can_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/mac_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/sdc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/DACv1/dac_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c +endif # Required include directories -PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \ - ${CHIBIOS}/os/hal/ports/STM32/STM32F4xx \ - ${CHIBIOS}/os/hal/ports/STM32/LLD \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/DACv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/OTGv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/FSMCv1 +PLATFORMINC := $(CHIBIOS)/os/hal/ports/common/ARMCMx \ + $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx \ + $(CHIBIOS)/os/hal/ports/STM32/LLD \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/DACv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/OTGv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/FSMCv1 diff --git a/os/hal/ports/STM32/STM32L1xx/platform.mk b/os/hal/ports/STM32/STM32L1xx/platform.mk index a63643be9..af7d0b9fd 100644 --- a/os/hal/ports/STM32/STM32L1xx/platform.mk +++ b/os/hal/ports/STM32/STM32L1xx/platform.mk @@ -1,30 +1,76 @@ # List of all the STM32L1xx platform files. -PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32L1xx/stm32_dma.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32L1xx/hal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32L1xx/adc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/ext_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +ifeq ($(USE_SMART_BUILD),yes) +HALCONF := $(strip $(shell cat halconf.h | egrep -e "define")) + +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c +ifneq ($(findstring HAL_USE_ADC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/adc_lld.c +endif +ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c +endif +ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c +endif +ifneq ($(findstring "HAL_USE_I2C TRUE",$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c +endif +ifneq ($(findstring HAL_USE_RTC TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c +endif +ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c +endif +ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c +endif +ifneq ($(findstring HAL_USE_ICU TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c +endif +ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c +endif +ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c +endif +ifneq ($(findstring HAL_USE_UART TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c +endif +ifneq ($(findstring HAL_USE_USB TRUE,$(HALCONF)),) +PLATFORMSRC += $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif +else +PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/stm32_dma.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/hal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/adc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/ext_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1/st_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1/usb_lld.c +endif # Required include directories -PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \ - ${CHIBIOS}/os/hal/ports/STM32/STM32L1xx \ - ${CHIBIOS}/os/hal/ports/STM32/LLD \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/GPIOv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/I2Cv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/RTCv2 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/SPIv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/TIMv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USARTv1 \ - ${CHIBIOS}/os/hal/ports/STM32/LLD/USBv1 +PLATFORMINC := $(CHIBIOS)/os/hal/ports/common/ARMCMx \ + $(CHIBIOS)/os/hal/ports/STM32/STM32L1xx \ + $(CHIBIOS)/os/hal/ports/STM32/LLD \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/RTCv2 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/SPIv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/TIMv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USARTv1 \ + $(CHIBIOS)/os/hal/ports/STM32/LLD/USBv1 diff --git a/os/rt/rt.mk b/os/rt/rt.mk index 55a189f75..715440c29 100644 --- a/os/rt/rt.mk +++ b/os/rt/rt.mk @@ -1,24 +1,76 @@ # List of all the ChibiOS/RT kernel files, there is no need to remove the files # from this list, you can disable parts of the kernel by editing chconf.h. -KERNSRC = ${CHIBIOS}/os/rt/src/chsys.c \ - ${CHIBIOS}/os/rt/src/chdebug.c \ - ${CHIBIOS}/os/rt/src/chtm.c \ - ${CHIBIOS}/os/rt/src/chstats.c \ - ${CHIBIOS}/os/rt/src/chschd.c \ - ${CHIBIOS}/os/rt/src/chvt.c \ - ${CHIBIOS}/os/rt/src/chthreads.c \ - ${CHIBIOS}/os/rt/src/chdynamic.c \ - ${CHIBIOS}/os/rt/src/chregistry.c \ - ${CHIBIOS}/os/rt/src/chsem.c \ - ${CHIBIOS}/os/rt/src/chmtx.c \ - ${CHIBIOS}/os/rt/src/chcond.c \ - ${CHIBIOS}/os/rt/src/chevents.c \ - ${CHIBIOS}/os/rt/src/chmsg.c \ - ${CHIBIOS}/os/rt/src/chmboxes.c \ - ${CHIBIOS}/os/rt/src/chqueues.c \ - ${CHIBIOS}/os/rt/src/chmemcore.c \ - ${CHIBIOS}/os/rt/src/chheap.c \ - ${CHIBIOS}/os/rt/src/chmempools.c +ifeq ($(USE_SMART_BUILD),yes) +CHCONF := $(strip $(shell cat chconf.h | egrep -e "define")) + +KERNSRC := $(CHIBIOS)/os/rt/src/chsys.c \ + $(CHIBIOS)/os/rt/src/chdebug.c \ + $(CHIBIOS)/os/rt/src/chvt.c \ + $(CHIBIOS)/os/rt/src/chschd.c \ + $(CHIBIOS)/os/rt/src/chthreads.c +ifneq ($(findstring CH_CFG_USE_TM TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chtm.c +endif +ifneq ($(findstring CH_DBG_STATISTICS TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chstats.c +endif +ifneq ($(findstring CH_CFG_USE_DYNAMIC TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chdynamic.c +endif +ifneq ($(findstring CH_CFG_USE_REGISTRY TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chregistry.c +endif +ifneq ($(findstring CH_CFG_USE_SEMAPHORES TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chsem.c +endif +ifneq ($(findstring CH_CFG_USE_MUTEXES TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chmtx.c +endif +ifneq ($(findstring CH_CFG_USE_CONDVARS TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chcond.c +endif +ifneq ($(findstring CH_CFG_USE_EVENTS TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chevents.c +endif +ifneq ($(findstring CH_CFG_USE_MESSAGES TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chmsg.c +endif +ifneq ($(findstring CH_CFG_USE_MAILBOXES TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chmboxes.c +endif +ifneq ($(findstring CH_CFG_USE_QUEUES TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chqueues.c +endif +ifneq ($(findstring CH_CFG_USE_MEMCORE TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chmemcore.c +endif +ifneq ($(findstring CH_CFG_USE_HEAP TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chheap.c +endif +ifneq ($(findstring CH_CFG_USE_MEMPOOLS TRUE,$(CHCONF)),) +KERNSRC += $(CHIBIOS)/os/rt/src/chmempools.c +endif +else +KERNSRC = $(CHIBIOS)/os/rt/src/chsys.c \ + $(CHIBIOS)/os/rt/src/chdebug.c \ + $(CHIBIOS)/os/rt/src/chvt.c \ + $(CHIBIOS)/os/rt/src/chschd.c \ + $(CHIBIOS)/os/rt/src/chthreads.c \ + $(CHIBIOS)/os/rt/src/chtm.c \ + $(CHIBIOS)/os/rt/src/chstats.c \ + $(CHIBIOS)/os/rt/src/chdynamic.c \ + $(CHIBIOS)/os/rt/src/chregistry.c \ + $(CHIBIOS)/os/rt/src/chsem.c \ + $(CHIBIOS)/os/rt/src/chmtx.c \ + $(CHIBIOS)/os/rt/src/chcond.c \ + $(CHIBIOS)/os/rt/src/chevents.c \ + $(CHIBIOS)/os/rt/src/chmsg.c \ + $(CHIBIOS)/os/rt/src/chmboxes.c \ + $(CHIBIOS)/os/rt/src/chqueues.c \ + $(CHIBIOS)/os/rt/src/chmemcore.c \ + $(CHIBIOS)/os/rt/src/chheap.c \ + $(CHIBIOS)/os/rt/src/chmempools.c +endif # Required include directories -KERNINC = ${CHIBIOS}/os/rt/include +KERNINC = $(CHIBIOS)/os/rt/include -- cgit v1.2.3