selftests/powerpc: Don't ignore errors from sub Makefiles
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 23 Jul 2014 07:31:31 +0000 (17:31 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 28 Jul 2014 04:11:28 +0000 (14:11 +1000)
Currently we ignore errors from our sub Makefiles. We inherited that
from the top-level selftests Makefile which aims to build and run as
many tests as possible and damn the torpedoes.

For the powerpc tests we'd instead like any errors to fail the build, so
we can automatically catch build failures.

We can achieve the best of both worlds by using -k, which tells make to
keep building when it hits an error, but still reports the error.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
tools/testing/selftests/powerpc/Makefile
tools/testing/selftests/powerpc/pmu/Makefile

index 54833a791a441d11b30c6fbb8bbcb8afafe5aa48..74a78cedce37aad381bea0c399bcb7c5eab38307 100644 (file)
@@ -17,10 +17,10 @@ TARGETS = pmu copyloops mm tm
 
 endif
 
-all:
-       @for TARGET in $(TARGETS); do \
-               $(MAKE) -C $$TARGET all; \
-       done;
+all: $(TARGETS)
+
+$(TARGETS):
+       $(MAKE) -k -C $@ all
 
 run_tests: all
        @for TARGET in $(TARGETS); do \
@@ -36,4 +36,4 @@ clean:
 tags:
        find . -name '*.c' -o -name '*.h' | xargs ctags
 
-.PHONY: all run_tests clean tags
+.PHONY: all run_tests clean tags $(TARGETS)
index b9ff0db42c79a1e35ce9116bb73103b154419411..cd256277c24e4e5450165602d5b6951fc5baa9ab 100644 (file)
@@ -4,7 +4,9 @@ noarg:
 PROGS := count_instructions
 EXTRA_SOURCES := ../harness.c event.c
 
-all: $(PROGS) sub_all
+SUB_TARGETS = ebb
+
+all: $(PROGS) $(SUB_TARGETS)
 
 $(PROGS): $(EXTRA_SOURCES)
 
@@ -20,13 +22,8 @@ run_tests: all sub_run_tests
 clean: sub_clean
        rm -f $(PROGS) loop.o
 
-
-SUB_TARGETS = ebb
-
-sub_all:
-       @for TARGET in $(SUB_TARGETS); do \
-               $(MAKE) -C $$TARGET all; \
-       done;
+$(SUB_TARGETS):
+       $(MAKE) -k -C $@ all
 
 sub_run_tests: all
        @for TARGET in $(SUB_TARGETS); do \
@@ -38,4 +35,4 @@ sub_clean:
                $(MAKE) -C $$TARGET clean; \
        done;
 
-.PHONY: all run_tests clean sub_all sub_run_tests sub_clean
+.PHONY: all run_tests clean sub_run_tests sub_clean $(SUB_TARGETS)