Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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