GNU Linux-libre 4.19.295-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            dscr                 \
21            mm                   \
22            pmu                  \
23            signal               \
24            primitives           \
25            stringloops          \
26            switch_endian        \
27            syscalls             \
28            tm                   \
29            vphn         \
30            math         \
31            ptrace
32
33 endif
34
35 all: $(SUB_DIRS)
36
37 $(SUB_DIRS):
38         BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
39
40 include ../lib.mk
41
42 override define RUN_TESTS
43         @for TARGET in $(SUB_DIRS); do \
44                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
45                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
46         done;
47 endef
48
49 override define INSTALL_RULE
50         @for TARGET in $(SUB_DIRS); do \
51                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
52                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\
53         done;
54 endef
55
56 override define EMIT_TESTS
57         @for TARGET in $(SUB_DIRS); do \
58                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
59                 $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
60         done;
61 endef
62
63 override define CLEAN
64         @for TARGET in $(SUB_DIRS); do \
65                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
66                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
67         done;
68         rm -f tags
69 endef
70
71 tags:
72         find . -name '*.c' -o -name '*.h' | xargs ctags
73
74 .PHONY: tags $(SUB_DIRS)