summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorNicolas Schodet2015-06-09 11:38:00 +0200
committerNicolas Schodet2019-10-07 00:44:50 +0200
commit2c77cc0058289f1f65b5b53a767f6822d6a8974f (patch)
treeb74efd026a0f3d2e5095e3abea3e5ae8c974b2b6 /build
parent0465dfe7d8f90d3d30baa660673dedc06a748607 (diff)
build: add a test target
Diffstat (limited to 'build')
-rw-r--r--build/arch.mk20
-rw-r--r--build/host.mk2
-rw-r--r--build/stm32f1.mk1
-rw-r--r--build/stm32f4.mk1
-rw-r--r--build/top.mk3
5 files changed, 26 insertions, 1 deletions
diff --git a/build/arch.mk b/build/arch.mk
index 1668bb8..8f6142d 100644
--- a/build/arch.mk
+++ b/build/arch.mk
@@ -141,6 +141,26 @@ size.$1: $$($1_ELFS)
endef
+# Define test rules.
+define arch_test_rules
+
+.PHONY: test.$1
+
+test: test.$1
+
+ifeq ($$(origin $1_RUN),undefined)
+test.$1: elf.$1
+else
+test.$1: $$($1_PROGS:%=%.$1.test)
+
+%.$1.test: %.$1$$($1_ELF_SUFFIX)
+ @echo "TEST [$1] $$<"
+ $$Q$$($1_RUN) ./$$<
+endif
+
+endef
+
+
# Define miscellaneous rules.
define arch_misc_rules
diff --git a/build/host.mk b/build/host.mk
index ef219ae..89a22b9 100644
--- a/build/host.mk
+++ b/build/host.mk
@@ -8,10 +8,12 @@ host_CXXFLAGS := $(sort $(host_CFLAGS) $(CXXFLAGS))
host_ASFLAGS := $(ASFLAGS)
host_LDFLAGS := $(LDFLAGS)
host_LDLIBS := $(LDLIBS) $(host_LIBS)
+host_RUN :=
$(eval $(call arch_cmds,host))
# Rules.
$(eval $(call arch_build_rules,host))
+$(eval $(call arch_test_rules,host))
$(eval $(call arch_misc_rules,host))
diff --git a/build/stm32f1.mk b/build/stm32f1.mk
index 6cd79f2..93ef9ab 100644
--- a/build/stm32f1.mk
+++ b/build/stm32f1.mk
@@ -24,5 +24,6 @@ $(eval $(call arch_build_rules,stm32f1))
$(eval $(call arch_lst_rules,stm32f1))
$(eval $(call arch_bin_rules,stm32f1))
$(eval $(call arch_size_rules,stm32f1))
+$(eval $(call arch_test_rules,stm32f1))
$(eval $(call arch_misc_rules,stm32f1))
$(eval $(call stm32_program_rules,stm32f1))
diff --git a/build/stm32f4.mk b/build/stm32f4.mk
index 106ef22..cf110c6 100644
--- a/build/stm32f4.mk
+++ b/build/stm32f4.mk
@@ -24,5 +24,6 @@ $(eval $(call arch_build_rules,stm32f4))
$(eval $(call arch_lst_rules,stm32f4))
$(eval $(call arch_bin_rules,stm32f4))
$(eval $(call arch_size_rules,stm32f4))
+$(eval $(call arch_test_rules,stm32f1))
$(eval $(call arch_misc_rules,stm32f4))
$(eval $(call stm32_program_rules,stm32f4))
diff --git a/build/top.mk b/build/top.mk
index f3c6ccc..72e80f4 100644
--- a/build/top.mk
+++ b/build/top.mk
@@ -36,12 +36,13 @@ hex:
srec:
bin:
crc:
+test:
clean:
@echo rmdir '$(OBJDIR)/.../'
$(call rmdir_as_needed,$(OBJDIRS),$(OBJDIR))
-.PHONY: all lst size hex srec bin crc clean
+.PHONY: all lst size hex srec bin crc test clean
# Modules and sources setup.