diff --git a/Makefile b/Makefile
index 45244fc80c6d4a4b6d05ab5c95040df457d52f41..a6b46399be542541c090d0bb8c65c7278b9bc59e 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,8 @@ CXXFLAGS = -std=c++14
 
 TARGETS = src/app/${app}/main.cc src/os/object/cpp_helpers.cc src/os/object/outputstream.cc
 
+include src/app/${app}/Makefile.inc
+
 ifneq ($(findstring lm75,${drivers}), )
 	TARGETS += src/driver/lm75.cc
 	COMMON_FLAGS += -DDRIVER_LM75
diff --git a/src/app/bench/Makefile.inc b/src/app/bench/Makefile.inc
new file mode 100644
index 0000000000000000000000000000000000000000..ded88a9843b5fea0444ae229bea56a4aee0f7ec5
--- /dev/null
+++ b/src/app/bench/Makefile.inc
@@ -0,0 +1 @@
+timer_cycles ?= 1
diff --git a/src/app/ledblink/Makefile.inc b/src/app/ledblink/Makefile.inc
new file mode 100644
index 0000000000000000000000000000000000000000..d7dcd37e57ab305976f377ff7a0aeb11c7267942
--- /dev/null
+++ b/src/app/ledblink/Makefile.inc
@@ -0,0 +1,2 @@
+timer_cycles ?= 1
+loop ?= 1
diff --git a/src/arch/msp430fr5969lp/Makefile.inc b/src/arch/msp430fr5969lp/Makefile.inc
index 978678586c4a33a119be0b81c836fa03eb496cac..8480b7137576800dbd5ee9e6e102e195331a935c 100644
--- a/src/arch/msp430fr5969lp/Makefile.inc
+++ b/src/arch/msp430fr5969lp/Makefile.inc
@@ -11,11 +11,26 @@ CXX = /opt/msp430/ti/gcc/bin/msp430-elf-g++
 OBJCOPY = /opt/msp430/ti/gcc/bin/msp430-elf-objcopy
 
 TARGETS += src/arch/msp430fr5969lp/arch.cc
-TARGETS += src/arch/msp430fr5969lp/driver/adc.cc
+
+ifneq ($(findstring adc,${arch_drivers}), )
+	TARGETS += src/arch/msp430fr5969lp/driver/adc.cc
+endif
+
 TARGETS += src/arch/msp430fr5969lp/driver/gpio.cc
 TARGETS += src/arch/msp430fr5969lp/driver/stdout.cc
 TARGETS += src/arch/msp430fr5969lp/driver/uptime.cc
-TARGETS += src/arch/msp430fr5969lp/driver/i2c.cc
+
+ifneq ($(findstring i2c,${arch_drivers}), )
+	TARGETS += src/arch/msp430fr5969lp/driver/i2c.cc
+endif
+
+ifneq ($(findstring spi,${arch_drivers}), )
+	TARGETS += src/arch/msp430fr5969lp/driver/spi.cc
+endif
+
+ifneq ($(findstring spi_b,${arch_drivers}), )
+	TARGETS += src/arch/msp430fr5969lp/driver/spi_b.cc
+endif
 
 OBJECTS = ${TARGETS:.cc=.o}