GNU Linux-libre 4.14.290-gnu1
[releases.git] / tools / testing / selftests / powerpc / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2 # Makefile for powerpc selftests
3
4 # ARCH can be overridden by the user for cross compiling
5 ARCH ?= $(shell uname -m)
6 ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
7
8 ifeq ($(ARCH),powerpc)
9
10 GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
11
12 CFLAGS := -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS)
13
14 export CFLAGS
15
16 SUB_DIRS = alignment            \
17            benchmarks           \
18            cache_shape          \
19            copyloops            \
20            context_switch       \
21            dscr                 \
22            mm                   \
23            pmu                  \
24            signal               \
25            primitives           \
26            stringloops          \
27            switch_endian        \
28            syscalls             \
29            tm                   \
30            vphn         \
31            math         \
32            ptrace
33
34 endif
35
36 all: $(SUB_DIRS)
37
38 $(SUB_DIRS):
39         BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
40
41 include ../lib.mk
42
43 override define RUN_TESTS
44         @for TARGET in $(SUB_DIRS); do \
45                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
46                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
47         done;
48 endef
49
50 override define INSTALL_RULE
51         @for TARGET in $(SUB_DIRS); do \
52                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
53                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\
54         done;
55 endef
56
57 override define EMIT_TESTS
58         @for TARGET in $(SUB_DIRS); do \
59                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
60                 $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
61         done;
62 endef
63
64 override define CLEAN
65         @for TARGET in $(SUB_DIRS); do \
66                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
67                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
68         done;
69         rm -f tags
70 endef
71
72 tags:
73         find . -name '*.c' -o -name '*.h' | xargs ctags
74
75 .PHONY: tags $(SUB_DIRS)