xref: /linux/tools/testing/selftests/powerpc/Makefile (revision 3f41368fbfe1b3d5922d317fe1a0a0cab6846802)
1# SPDX-License-Identifier: GPL-2.0
2# Makefile for powerpc selftests
3
4# ARCH can be overridden by the user for cross compiling
5ARCH ?= $(shell uname -m)
6ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
7
8ifeq ($(ARCH),powerpc)
9
10SUB_DIRS = alignment		\
11	   benchmarks		\
12	   cache_shape		\
13	   copyloops		\
14	   dexcr		\
15	   dscr			\
16	   mm			\
17	   nx-gzip		\
18	   pmu			\
19	   signal		\
20	   primitives		\
21	   stringloops		\
22	   switch_endian	\
23	   syscalls		\
24	   tm			\
25	   eeh			\
26	   vphn         \
27	   math		\
28	   papr_attributes	\
29	   papr_vpd		\
30	   papr_sysparm		\
31	   ptrace	\
32	   security	\
33	   mce
34
35endif
36
37all: $(SUB_DIRS)
38
39$(SUB_DIRS):
40	BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
41
42include ../lib.mk
43include ./flags.mk
44
45override define RUN_TESTS
46	+@for TARGET in $(SUB_DIRS); do \
47		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
48		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
49	done;
50endef
51
52override define INSTALL_RULE
53	+@for TARGET in $(SUB_DIRS); do \
54		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
55		$(MAKE) OUTPUT=$$BUILD_TARGET INSTALL_PATH=$$INSTALL_PATH/$$TARGET -C $$TARGET install;\
56	done;
57endef
58
59emit_tests:
60	+@for TARGET in $(SUB_DIRS); do \
61		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
62		$(MAKE) OUTPUT=$$BUILD_TARGET COLLECTION=$(COLLECTION)/$$TARGET -s -C $$TARGET $@;\
63	done;
64
65override define CLEAN
66	+@for TARGET in $(SUB_DIRS); do \
67		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
68		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
69	done;
70	rm -f tags
71endef
72
73tags:
74	find . -name '*.c' -o -name '*.h' | xargs ctags
75
76.PHONY: tags $(SUB_DIRS) emit_tests
77