Added option to specify make variables in the compile regression test

This commit is contained in:
Niclas Finne 2015-10-27 17:24:44 +01:00
parent a161dc2959
commit 2dd75d8384

View File

@ -36,12 +36,14 @@ nine := x x x x x x x x x
max = $(subst xx,x,$(join ${1},${2})) max = $(subst xx,x,$(join ${1},${2}))
gt = $(filter-out $(words ${1}),$(words $(call max,${1},${2}))) gt = $(filter-out $(words ${1}),$(words $(call max,${1},${2})))
addzero = $(if $(call gt,${nine},$(1)),$(words ${1}),0$(words ${1})) addzero = $(if $(call gt,${nine},$(1)),$(words ${1}),0$(words ${1}))
get_target = $(firstword $(subst :, ,$1))
get_target_vars = $(wordlist 2,15,$(subst :, ,$1))
define dooneexample define dooneexample
@echo Building example $(3): $(1) for target $(2) @echo Building example $(3): $(1) for target $(2)
@((cd $(EXAMPLESDIR)/$(1); \ @((cd $(EXAMPLESDIR)/$(1); \
export STM32W_CPUREV=CC; \ export STM32W_CPUREV=CC; \
make TARGET=$(2) clean && make TARGET=$(2) WERROR=1) > \ make $(4) TARGET=$(2) clean && make $(4) TARGET=$(2) WERROR=1) > \
$(3)-$(subst /,-,$(1))$(2).report 2>&1 && \ $(3)-$(subst /,-,$(1))$(2).report 2>&1 && \
(echo $(1) $(2): OK | tee $(3)-$(subst /,-,$(1))$(2).summary) || \ (echo $(1) $(2): OK | tee $(3)-$(subst /,-,$(1))$(2).summary) || \
(echo $(1) $(2): FAIL ಠ.ಠ | tee $(3)-$(subst /,-,$(1))$(2).summary ; \ (echo $(1) $(2): FAIL ಠ.ಠ | tee $(3)-$(subst /,-,$(1))$(2).summary ; \
@ -50,7 +52,7 @@ endef
define doexample define doexample
$(eval i+=x) $(eval i+=x)
$(call dooneexample,$(dir ${1}),$(notdir ${1}),$(call addzero,${i})) $(call dooneexample,$(dir $(call get_target,${1})),$(notdir $(call get_target,${1})),$(call addzero,${i}),$(call get_target_vars,${1}))
endef endef
#end of GNU make magic #end of GNU make magic