]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - tools/testing/selftests/Makefile
Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[mirror_ubuntu-artful-kernel.git] / tools / testing / selftests / Makefile
index 0e72f1d03c9ece7c32eaa7390d10a49888d56a95..d8593f1251ecce4c750fc54086ba3fc2b0b7c90a 100644 (file)
@@ -1,6 +1,7 @@
 TARGETS =  bpf
 TARGETS += breakpoints
 TARGETS += capabilities
+TARGETS += cpufreq
 TARGETS += cpu-hotplug
 TARGETS += efivarfs
 TARGETS += exec
@@ -8,6 +9,7 @@ TARGETS += firmware
 TARGETS += ftrace
 TARGETS += futex
 TARGETS += gpio
+TARGETS += intel_pstate
 TARGETS += ipc
 TARGETS += kcmp
 TARGETS += lib
@@ -50,29 +52,44 @@ override LDFLAGS =
 override MAKEFLAGS =
 endif
 
+BUILD := $(O)
+ifndef BUILD
+  BUILD := $(KBUILD_OUTPUT)
+endif
+ifndef BUILD
+  BUILD := $(shell pwd)
+endif
+
+export BUILD
 all:
-       for TARGET in $(TARGETS); do \
-               make -C $$TARGET; \
+       for TARGET in $(TARGETS); do            \
+               BUILD_TARGET=$$BUILD/$$TARGET;  \
+               mkdir $$BUILD_TARGET  -p;       \
+               make OUTPUT=$$BUILD_TARGET -C $$TARGET;\
        done;
 
 run_tests: all
        for TARGET in $(TARGETS); do \
-               make -C $$TARGET run_tests; \
+               BUILD_TARGET=$$BUILD/$$TARGET;  \
+               make OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
        done;
 
 hotplug:
        for TARGET in $(TARGETS_HOTPLUG); do \
-               make -C $$TARGET; \
+               BUILD_TARGET=$$BUILD/$$TARGET;  \
+               make OUTPUT=$$BUILD_TARGET -C $$TARGET;\
        done;
 
 run_hotplug: hotplug
        for TARGET in $(TARGETS_HOTPLUG); do \
-               make -C $$TARGET run_full_test; \
+               BUILD_TARGET=$$BUILD/$$TARGET;  \
+               make OUTPUT=$$BUILD_TARGET -C $$TARGET run_full_test;\
        done;
 
 clean_hotplug:
        for TARGET in $(TARGETS_HOTPLUG); do \
-               make -C $$TARGET clean; \
+               BUILD_TARGET=$$BUILD/$$TARGET;  \
+               make OUTPUT=$$BUILD_TARGET -C $$TARGET clean;\
        done;
 
 run_pstore_crash:
@@ -87,19 +104,21 @@ ifdef INSTALL_PATH
        @# Ask all targets to install their files
        mkdir -p $(INSTALL_PATH)
        for TARGET in $(TARGETS); do \
-               make -C $$TARGET INSTALL_PATH=$(INSTALL_PATH)/$$TARGET install; \
+               BUILD_TARGET=$$BUILD/$$TARGET;  \
+               make OUTPUT=$$BUILD_TARGET -C $$TARGET INSTALL_PATH=$(INSTALL_PATH)/$$TARGET install; \
        done;
 
        @# Ask all targets to emit their test scripts
-       echo "#!/bin/bash" > $(ALL_SCRIPT)
+       echo "#!/bin/sh" > $(ALL_SCRIPT)
        echo "cd \$$(dirname \$$0)" >> $(ALL_SCRIPT)
        echo "ROOT=\$$PWD" >> $(ALL_SCRIPT)
 
        for TARGET in $(TARGETS); do \
+               BUILD_TARGET=$$BUILD/$$TARGET;  \
                echo "echo ; echo Running tests in $$TARGET" >> $(ALL_SCRIPT); \
                echo "echo ========================================" >> $(ALL_SCRIPT); \
                echo "cd $$TARGET" >> $(ALL_SCRIPT); \
-               make -s --no-print-directory -C $$TARGET emit_tests >> $(ALL_SCRIPT); \
+               make -s --no-print-directory OUTPUT=$$BUILD_TARGET -C $$TARGET emit_tests >> $(ALL_SCRIPT); \
                echo "cd \$$ROOT" >> $(ALL_SCRIPT); \
        done;
 
@@ -110,7 +129,8 @@ endif
 
 clean:
        for TARGET in $(TARGETS); do \
-               make -C $$TARGET clean; \
+               BUILD_TARGET=$$BUILD/$$TARGET;  \
+               make OUTPUT=$$BUILD_TARGET -C $$TARGET clean;\
        done;
 
 .PHONY: install