aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarcoveeneman <marco-veeneman@hotmail.com>2016-08-11 09:24:52 +0200
committerGitHub <noreply@github.com>2016-08-11 09:24:52 +0200
commitb153796a5dd6aff59e8f22c50f6017d175c76e0a (patch)
tree684d289629865e95cc48ccb7d5d233e516a295e8
parent569aa39fbad9b47efe45635850f82c040c765318 (diff)
parent1853428c80a396bb3434c50920ef5d10766c6a14 (diff)
downloadChibiOS-Contrib-b153796a5dd6aff59e8f22c50f6017d175c76e0a.tar.gz
ChibiOS-Contrib-b153796a5dd6aff59e8f22c50f6017d175c76e0a.tar.bz2
ChibiOS-Contrib-b153796a5dd6aff59e8f22c50f6017d175c76e0a.zip
Merge pull request #94 from marcoveeneman/tiva-improvements
Tiva smart build support
-rw-r--r--demos/TIVA/RT-TM4C123G-LAUNCHPAD/Makefile6
-rw-r--r--demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/Makefile6
-rw-r--r--demos/TIVA/RT-TM4C1294-LAUNCHPAD/Makefile6
-rw-r--r--os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_ext_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_ext_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_pal_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_pal_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_gpt_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_gpt_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_st_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_st_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/GPTM/tiva_gpt.h (renamed from os/hal/ports/TIVA/LLD/tiva_gpt.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_i2c_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_i2c_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/MAC/hal_mac_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_mac_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/MAC/hal_mac_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_mac_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_pwm_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_pwm_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_spi_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_spi_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/UART/hal_serial_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_serial_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/UART/hal_serial_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_serial_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.c (renamed from os/hal/ports/TIVA/LLD/hal_wdg_lld.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.h (renamed from os/hal/ports/TIVA/LLD/hal_wdg_lld.h)0
-rw-r--r--os/hal/ports/TIVA/LLD/uDMA/tiva_udma.c (renamed from os/hal/ports/TIVA/LLD/tiva_udma.c)0
-rw-r--r--os/hal/ports/TIVA/LLD/uDMA/tiva_udma.h (renamed from os/hal/ports/TIVA/LLD/tiva_udma.h)0
-rw-r--r--os/hal/ports/TIVA/TM4C123x/platform.mk70
-rw-r--r--os/hal/ports/TIVA/TM4C129x/platform.mk62
-rw-r--r--testhal/TIVA/TM4C123x/EXT/Makefile6
-rw-r--r--testhal/TIVA/TM4C123x/GPT/Makefile6
-rw-r--r--testhal/TIVA/TM4C123x/I2C/Makefile6
-rw-r--r--testhal/TIVA/TM4C123x/PWM/Makefile6
-rw-r--r--testhal/TIVA/TM4C123x/SPI/Makefile6
-rw-r--r--testhal/TIVA/TM4C123x/WDG/Makefile8
34 files changed, 165 insertions, 23 deletions
diff --git a/demos/TIVA/RT-TM4C123G-LAUNCHPAD/Makefile b/demos/TIVA/RT-TM4C123G-LAUNCHPAD/Makefile
index 322b39b..b393902 100644
--- a/demos/TIVA/RT-TM4C123G-LAUNCHPAD/Makefile
+++ b/demos/TIVA/RT-TM4C123G-LAUNCHPAD/Makefile
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################
diff --git a/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/Makefile b/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/Makefile
index e5cd47a..add92f1 100644
--- a/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/Makefile
+++ b/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/Makefile
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################
diff --git a/demos/TIVA/RT-TM4C1294-LAUNCHPAD/Makefile b/demos/TIVA/RT-TM4C1294-LAUNCHPAD/Makefile
index 63815df..2542d28 100644
--- a/demos/TIVA/RT-TM4C1294-LAUNCHPAD/Makefile
+++ b/demos/TIVA/RT-TM4C1294-LAUNCHPAD/Makefile
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################
diff --git a/os/hal/ports/TIVA/LLD/hal_ext_lld.c b/os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.c
index efe6421..efe6421 100644
--- a/os/hal/ports/TIVA/LLD/hal_ext_lld.c
+++ b/os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_ext_lld.h b/os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.h
index 08accb2..08accb2 100644
--- a/os/hal/ports/TIVA/LLD/hal_ext_lld.h
+++ b/os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.h
diff --git a/os/hal/ports/TIVA/LLD/hal_pal_lld.c b/os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.c
index 5460fd4..5460fd4 100644
--- a/os/hal/ports/TIVA/LLD/hal_pal_lld.c
+++ b/os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_pal_lld.h b/os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.h
index c0cd82b..c0cd82b 100644
--- a/os/hal/ports/TIVA/LLD/hal_pal_lld.h
+++ b/os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.h
diff --git a/os/hal/ports/TIVA/LLD/hal_gpt_lld.c b/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c
index 870ba12..870ba12 100644
--- a/os/hal/ports/TIVA/LLD/hal_gpt_lld.c
+++ b/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_gpt_lld.h b/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.h
index e518e58..e518e58 100644
--- a/os/hal/ports/TIVA/LLD/hal_gpt_lld.h
+++ b/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.h
diff --git a/os/hal/ports/TIVA/LLD/hal_st_lld.c b/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c
index 30fdb8a..30fdb8a 100644
--- a/os/hal/ports/TIVA/LLD/hal_st_lld.c
+++ b/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_st_lld.h b/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.h
index 35bf008..35bf008 100644
--- a/os/hal/ports/TIVA/LLD/hal_st_lld.h
+++ b/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.h
diff --git a/os/hal/ports/TIVA/LLD/tiva_gpt.h b/os/hal/ports/TIVA/LLD/GPTM/tiva_gpt.h
index 114831b..114831b 100644
--- a/os/hal/ports/TIVA/LLD/tiva_gpt.h
+++ b/os/hal/ports/TIVA/LLD/GPTM/tiva_gpt.h
diff --git a/os/hal/ports/TIVA/LLD/hal_i2c_lld.c b/os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.c
index cb69861..cb69861 100644
--- a/os/hal/ports/TIVA/LLD/hal_i2c_lld.c
+++ b/os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_i2c_lld.h b/os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.h
index 460d231..460d231 100644
--- a/os/hal/ports/TIVA/LLD/hal_i2c_lld.h
+++ b/os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.h
diff --git a/os/hal/ports/TIVA/LLD/hal_mac_lld.c b/os/hal/ports/TIVA/LLD/MAC/hal_mac_lld.c
index 04177b6..04177b6 100644
--- a/os/hal/ports/TIVA/LLD/hal_mac_lld.c
+++ b/os/hal/ports/TIVA/LLD/MAC/hal_mac_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_mac_lld.h b/os/hal/ports/TIVA/LLD/MAC/hal_mac_lld.h
index 98036bb..98036bb 100644
--- a/os/hal/ports/TIVA/LLD/hal_mac_lld.h
+++ b/os/hal/ports/TIVA/LLD/MAC/hal_mac_lld.h
diff --git a/os/hal/ports/TIVA/LLD/hal_pwm_lld.c b/os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.c
index ad7c587..ad7c587 100644
--- a/os/hal/ports/TIVA/LLD/hal_pwm_lld.c
+++ b/os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_pwm_lld.h b/os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.h
index ac64fe1..ac64fe1 100644
--- a/os/hal/ports/TIVA/LLD/hal_pwm_lld.h
+++ b/os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.h
diff --git a/os/hal/ports/TIVA/LLD/hal_spi_lld.c b/os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.c
index ded2b99..ded2b99 100644
--- a/os/hal/ports/TIVA/LLD/hal_spi_lld.c
+++ b/os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_spi_lld.h b/os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.h
index 2adc9ed..2adc9ed 100644
--- a/os/hal/ports/TIVA/LLD/hal_spi_lld.h
+++ b/os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.h
diff --git a/os/hal/ports/TIVA/LLD/hal_serial_lld.c b/os/hal/ports/TIVA/LLD/UART/hal_serial_lld.c
index 89d29da..89d29da 100644
--- a/os/hal/ports/TIVA/LLD/hal_serial_lld.c
+++ b/os/hal/ports/TIVA/LLD/UART/hal_serial_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_serial_lld.h b/os/hal/ports/TIVA/LLD/UART/hal_serial_lld.h
index 203ef6a..203ef6a 100644
--- a/os/hal/ports/TIVA/LLD/hal_serial_lld.h
+++ b/os/hal/ports/TIVA/LLD/UART/hal_serial_lld.h
diff --git a/os/hal/ports/TIVA/LLD/hal_wdg_lld.c b/os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.c
index 38dcef0..38dcef0 100644
--- a/os/hal/ports/TIVA/LLD/hal_wdg_lld.c
+++ b/os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.c
diff --git a/os/hal/ports/TIVA/LLD/hal_wdg_lld.h b/os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.h
index f88fa26..f88fa26 100644
--- a/os/hal/ports/TIVA/LLD/hal_wdg_lld.h
+++ b/os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.h
diff --git a/os/hal/ports/TIVA/LLD/tiva_udma.c b/os/hal/ports/TIVA/LLD/uDMA/tiva_udma.c
index 9f122b2..9f122b2 100644
--- a/os/hal/ports/TIVA/LLD/tiva_udma.c
+++ b/os/hal/ports/TIVA/LLD/uDMA/tiva_udma.c
diff --git a/os/hal/ports/TIVA/LLD/tiva_udma.h b/os/hal/ports/TIVA/LLD/uDMA/tiva_udma.h
index 6479b08..6479b08 100644
--- a/os/hal/ports/TIVA/LLD/tiva_udma.h
+++ b/os/hal/ports/TIVA/LLD/uDMA/tiva_udma.h
diff --git a/os/hal/ports/TIVA/TM4C123x/platform.mk b/os/hal/ports/TIVA/TM4C123x/platform.mk
index 0abafcc..ae1ea08 100644
--- a/os/hal/ports/TIVA/TM4C123x/platform.mk
+++ b/os/hal/ports/TIVA/TM4C123x/platform.mk
@@ -1,18 +1,58 @@
# List of all the TM4C123x platform files.
-PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/TM4C123x/hal_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_st_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_pal_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_serial_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_i2c_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_gpt_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_pwm_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_spi_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/tiva_udma.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_ext_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_wdg_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_CONTRIB}/os/hal/ports/TIVA/TM4C123x/hal_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/uDMA/tiva_udma.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c
+ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.c
+endif
+ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.c
+endif
+ifneq ($(findstring HAL_USE_I2C TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.c
+endif
+ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.c
+endif
+ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c
+endif
+ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.c
+endif
+ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/UART/hal_serial_lld.c
+endif
+ifneq ($(findstring HAL_USE_WDG TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.c
+endif
+else
+PLATFORMSRC := ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/TM4C123x/hal_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/UART/hal_serial_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/uDMA/tiva_udma.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.c
+endif
# Required include directories
-PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/TM4C123x \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD
+PLATFORMINC := ${CHIBIOS}/os/hal/ports/common/ARMCMx \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/TM4C123x \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/I2C \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/PWM \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/SSI \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/UART \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/uDMA \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/WDT
diff --git a/os/hal/ports/TIVA/TM4C129x/platform.mk b/os/hal/ports/TIVA/TM4C129x/platform.mk
index b8363f3..2cf5102 100644
--- a/os/hal/ports/TIVA/TM4C129x/platform.mk
+++ b/os/hal/ports/TIVA/TM4C129x/platform.mk
@@ -1,14 +1,62 @@
# List of all the TM4C129x platform files.
+ifeq ($(USE_SMART_BUILD),yes)
+HALCONF := $(strip $(shell cat halconf.h | egrep -e "\#define"))
+
+PLATFORMSRC := $(CHIBIOS)/os/hal/ports/common/ARMCMx/nvic.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/TM4C129x/hal_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/uDMA/tiva_udma.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c
+ifneq ($(findstring HAL_USE_EXT TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.c
+endif
+ifneq ($(findstring HAL_USE_PAL TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.c
+endif
+ifneq ($(findstring HAL_USE_I2C TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.c
+endif
+ifneq ($(findstring HAL_USE_MAC TRUE,$(HALCONF)),)
+PLATFORMSRC += $(CHIBIOS_CONTRIB)/os/hal/ports/TIVA/LLD/MAC/hal_mac_lld.c
+endif
+ifneq ($(findstring HAL_USE_SPI TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.c
+endif
+ifneq ($(findstring HAL_USE_GPT TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c
+endif
+ifneq ($(findstring HAL_USE_PWM TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.c
+endif
+ifneq ($(findstring HAL_USE_SERIAL TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/UART/hal_serial_lld.c
+endif
+ifneq ($(findstring HAL_USE_WDG TRUE,$(HALCONF)),)
+PLATFORMSRC += ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.c
+endif
+else
PLATFORMSRC = ${CHIBIOS}/os/hal/ports/common/ARMCMx/nvic.c \
${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/TM4C129x/hal_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_st_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_pal_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_serial_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_mac_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_ext_lld.c \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/hal_wdg_lld.c
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO/hal_ext_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO/hal_pal_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM/hal_gpt_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM/hal_st_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/I2C/hal_i2c_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/MAC/hal_mac_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/PWM/hal_pwm_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/SSI/hal_spi_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/UART/hal_serial_lld.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/uDMA/tiva_udma.c \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/WDT/hal_wdg_lld.c
# Required include directories
PLATFORMINC = ${CHIBIOS}/os/hal/ports/common/ARMCMx \
${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/TM4C129x \
- ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPIO \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/GPTM \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/I2C \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/MAC \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/PWM \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/SSI \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/UART \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/uDMA \
+ ${CHIBIOS_CONTRIB}/os/hal/ports/TIVA/LLD/WDT
diff --git a/testhal/TIVA/TM4C123x/EXT/Makefile b/testhal/TIVA/TM4C123x/EXT/Makefile
index f587083..f2833ec 100644
--- a/testhal/TIVA/TM4C123x/EXT/Makefile
+++ b/testhal/TIVA/TM4C123x/EXT/Makefile
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################
diff --git a/testhal/TIVA/TM4C123x/GPT/Makefile b/testhal/TIVA/TM4C123x/GPT/Makefile
index f587083..f2833ec 100644
--- a/testhal/TIVA/TM4C123x/GPT/Makefile
+++ b/testhal/TIVA/TM4C123x/GPT/Makefile
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################
diff --git a/testhal/TIVA/TM4C123x/I2C/Makefile b/testhal/TIVA/TM4C123x/I2C/Makefile
index 32abbee..d4d1334 100644
--- a/testhal/TIVA/TM4C123x/I2C/Makefile
+++ b/testhal/TIVA/TM4C123x/I2C/Makefile
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################
diff --git a/testhal/TIVA/TM4C123x/PWM/Makefile b/testhal/TIVA/TM4C123x/PWM/Makefile
index f587083..f2833ec 100644
--- a/testhal/TIVA/TM4C123x/PWM/Makefile
+++ b/testhal/TIVA/TM4C123x/PWM/Makefile
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################
diff --git a/testhal/TIVA/TM4C123x/SPI/Makefile b/testhal/TIVA/TM4C123x/SPI/Makefile
index f587083..f2833ec 100644
--- a/testhal/TIVA/TM4C123x/SPI/Makefile
+++ b/testhal/TIVA/TM4C123x/SPI/Makefile
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################
diff --git a/testhal/TIVA/TM4C123x/WDG/Makefile b/testhal/TIVA/TM4C123x/WDG/Makefile
index 5ae01c9..f2833ec 100644
--- a/testhal/TIVA/TM4C123x/WDG/Makefile
+++ b/testhal/TIVA/TM4C123x/WDG/Makefile
@@ -5,7 +5,7 @@
# Compiler options here.
ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
+ USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
endif
# C specific options here (added to USE_OPT).
@@ -43,6 +43,12 @@ ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
+# If enabled, this option makes the build process faster by not compiling
+# modules not used in the current configuration.
+ifeq ($(USE_SMART_BUILD),)
+ USE_SMART_BUILD = yes
+endif
+
#
# Build global options
##############################################################################