OSDN Git Service

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 54833a7..74a78ce 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 b9ff0db..cd25627 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)