selftests: Add infrastructure for powerpc selftests
authorMichael Ellerman <michael@ellerman.id.au>
Tue, 6 Aug 2013 07:42:35 +0000 (17:42 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 14 Aug 2013 04:57:03 +0000 (14:57 +1000)
This commit adds a powerpc subdirectory to tools/testing/selftests,
for tests that are powerpc specific.

On other architectures nothing is built. The makefile supports cross
compilation if the user sets ARCH and CROSS_COMPILE.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
tools/testing/selftests/Makefile
tools/testing/selftests/powerpc/Makefile [new file with mode: 0644]

index 4cb14ca..9f3eae2 100644 (file)
@@ -8,6 +8,7 @@ TARGETS += net
 TARGETS += ptrace
 TARGETS += timers
 TARGETS += vm
+TARGETS += powerpc
 
 all:
        for TARGET in $(TARGETS); do \
diff --git a/tools/testing/selftests/powerpc/Makefile b/tools/testing/selftests/powerpc/Makefile
new file mode 100644 (file)
index 0000000..b315740
--- /dev/null
@@ -0,0 +1,39 @@
+# Makefile for powerpc selftests
+
+# ARCH can be overridden by the user for cross compiling
+ARCH ?= $(shell uname -m)
+ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
+
+ifeq ($(ARCH),powerpc)
+
+GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
+
+CC := $(CROSS_COMPILE)$(CC)
+CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS)
+
+export CC CFLAGS
+
+TARGETS =
+
+endif
+
+all:
+       @for TARGET in $(TARGETS); do \
+               $(MAKE) -C $$TARGET all; \
+       done;
+
+run_tests: all
+       @for TARGET in $(TARGETS); do \
+               $(MAKE) -C $$TARGET run_tests; \
+       done;
+
+clean:
+       @for TARGET in $(TARGETS); do \
+               $(MAKE) -C $$TARGET clean; \
+       done;
+       rm -f tags
+
+tags:
+       find . -name '*.c' -o -name '*.h' | xargs ctags
+
+.PHONY: all run_tests clean tags