diff --git a/Makefile b/Makefile index 1388977704..02c6288f15 100644 --- a/Makefile +++ b/Makefile @@ -114,16 +114,22 @@ NOCOMPILE:=1 endif ifneq ($(filter %clean lint% help% what-jenkins-does,$(MAKECMDGOALS)),) NOMKDIR:=1 +UNIT_TEST:=1 endif endif -ifneq ($(filter %-test %-tests,$(MAKECMDGOALS)),) +ifneq ($(filter help%, $(MAKECMDGOALS)), ) +NOCOMPILE:=1 +UNIT_TEST:=1 +else +ifneq ($(filter %-test %-tests, $(MAKECMDGOALS)),) ifneq ($(filter-out %-test %-tests, $(MAKECMDGOALS)),) $(error Cannot mix unit-tests targets with other targets) endif UNIT_TEST:=1 NOCOMPILE:= endif +endif $(xcompile): util/xcompile/xcompile rm -f $@ @@ -141,6 +147,7 @@ include $(TOPLEVEL)/Makefile.inc include $(TOPLEVEL)/payloads/Makefile.inc include $(TOPLEVEL)/util/testing/Makefile.inc -include $(TOPLEVEL)/site-local/Makefile.inc +include $(TOPLEVEL)/tests/Makefile.inc real-all: @echo "Error: Expected config file ($(DOTCONFIG)) not present." >&2 @echo "Please specify a config file or run 'make menuconfig' to" >&2 diff --git a/tests/Makefile.inc b/tests/Makefile.inc index 027091c5e6..48bd18b2ba 100644 --- a/tests/Makefile.inc +++ b/tests/Makefile.inc @@ -179,3 +179,18 @@ $(addprefix clean-,$(alltests)): clean-%: clean-unit-tests: rm -rf $(testobj) + +list-unit-tests: + @echo "unit-tests:" + for t in $(sort $(alltests)); do \ + echo " $$t"; \ + done + +help-unit-tests help:: + @echo '*** coreboot unit-tests targets ***' + @echo ' unit-tests - Run all unit-tests from tests/' + @echo ' clean-unit-tests - Remove unit-tests build artifacts' + @echo ' list-unit-tests - List all unit-tests' + @echo ' - Build and run single unit-test' + @echo ' clean- - Remove single unit-test build artifacts' + @echo