xref: /aosp_15_r20/external/linux-kselftest/tools/testing/selftests/powerpc/Makefile (revision 053f45be4e351dfd5e965df293cd45b779f579ee)
1*053f45beSAndroid Build Coastguard Worker# SPDX-License-Identifier: GPL-2.0
2*053f45beSAndroid Build Coastguard Worker# Makefile for powerpc selftests
3*053f45beSAndroid Build Coastguard Worker
4*053f45beSAndroid Build Coastguard Worker# ARCH can be overridden by the user for cross compiling
5*053f45beSAndroid Build Coastguard WorkerARCH ?= $(shell uname -m)
6*053f45beSAndroid Build Coastguard WorkerARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
7*053f45beSAndroid Build Coastguard Worker
8*053f45beSAndroid Build Coastguard Workerifeq ($(ARCH),powerpc)
9*053f45beSAndroid Build Coastguard Worker
10*053f45beSAndroid Build Coastguard WorkerGIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
11*053f45beSAndroid Build Coastguard Worker
12*053f45beSAndroid Build Coastguard WorkerCFLAGS := -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS)
13*053f45beSAndroid Build Coastguard Worker
14*053f45beSAndroid Build Coastguard Workerexport CFLAGS
15*053f45beSAndroid Build Coastguard Worker
16*053f45beSAndroid Build Coastguard WorkerSUB_DIRS = alignment		\
17*053f45beSAndroid Build Coastguard Worker	   benchmarks		\
18*053f45beSAndroid Build Coastguard Worker	   cache_shape		\
19*053f45beSAndroid Build Coastguard Worker	   copyloops		\
20*053f45beSAndroid Build Coastguard Worker	   dscr			\
21*053f45beSAndroid Build Coastguard Worker	   mm			\
22*053f45beSAndroid Build Coastguard Worker	   nx-gzip		\
23*053f45beSAndroid Build Coastguard Worker	   pmu			\
24*053f45beSAndroid Build Coastguard Worker	   signal		\
25*053f45beSAndroid Build Coastguard Worker	   primitives		\
26*053f45beSAndroid Build Coastguard Worker	   stringloops		\
27*053f45beSAndroid Build Coastguard Worker	   switch_endian	\
28*053f45beSAndroid Build Coastguard Worker	   syscalls		\
29*053f45beSAndroid Build Coastguard Worker	   tm			\
30*053f45beSAndroid Build Coastguard Worker	   eeh			\
31*053f45beSAndroid Build Coastguard Worker	   vphn         \
32*053f45beSAndroid Build Coastguard Worker	   math		\
33*053f45beSAndroid Build Coastguard Worker	   papr_attributes	\
34*053f45beSAndroid Build Coastguard Worker	   ptrace	\
35*053f45beSAndroid Build Coastguard Worker	   security	\
36*053f45beSAndroid Build Coastguard Worker	   mce
37*053f45beSAndroid Build Coastguard Worker
38*053f45beSAndroid Build Coastguard Workerendif
39*053f45beSAndroid Build Coastguard Worker
40*053f45beSAndroid Build Coastguard Workerall: $(SUB_DIRS)
41*053f45beSAndroid Build Coastguard Worker
42*053f45beSAndroid Build Coastguard Worker$(SUB_DIRS):
43*053f45beSAndroid Build Coastguard Worker	BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
44*053f45beSAndroid Build Coastguard Worker
45*053f45beSAndroid Build Coastguard Workerinclude ../lib.mk
46*053f45beSAndroid Build Coastguard Worker
47*053f45beSAndroid Build Coastguard Workeroverride define RUN_TESTS
48*053f45beSAndroid Build Coastguard Worker	@for TARGET in $(SUB_DIRS); do \
49*053f45beSAndroid Build Coastguard Worker		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
50*053f45beSAndroid Build Coastguard Worker		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
51*053f45beSAndroid Build Coastguard Worker	done;
52*053f45beSAndroid Build Coastguard Workerendef
53*053f45beSAndroid Build Coastguard Worker
54*053f45beSAndroid Build Coastguard Workeroverride define INSTALL_RULE
55*053f45beSAndroid Build Coastguard Worker	@for TARGET in $(SUB_DIRS); do \
56*053f45beSAndroid Build Coastguard Worker		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
57*053f45beSAndroid Build Coastguard Worker		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\
58*053f45beSAndroid Build Coastguard Worker	done;
59*053f45beSAndroid Build Coastguard Workerendef
60*053f45beSAndroid Build Coastguard Worker
61*053f45beSAndroid Build Coastguard Workeroverride define EMIT_TESTS
62*053f45beSAndroid Build Coastguard Worker	@for TARGET in $(SUB_DIRS); do \
63*053f45beSAndroid Build Coastguard Worker		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
64*053f45beSAndroid Build Coastguard Worker		$(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
65*053f45beSAndroid Build Coastguard Worker	done;
66*053f45beSAndroid Build Coastguard Workerendef
67*053f45beSAndroid Build Coastguard Worker
68*053f45beSAndroid Build Coastguard Workeroverride define CLEAN
69*053f45beSAndroid Build Coastguard Worker	@for TARGET in $(SUB_DIRS); do \
70*053f45beSAndroid Build Coastguard Worker		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
71*053f45beSAndroid Build Coastguard Worker		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
72*053f45beSAndroid Build Coastguard Worker	done;
73*053f45beSAndroid Build Coastguard Worker	rm -f tags
74*053f45beSAndroid Build Coastguard Workerendef
75*053f45beSAndroid Build Coastguard Worker
76*053f45beSAndroid Build Coastguard Workertags:
77*053f45beSAndroid Build Coastguard Worker	find . -name '*.c' -o -name '*.h' | xargs ctags
78*053f45beSAndroid Build Coastguard Worker
79*053f45beSAndroid Build Coastguard Worker.PHONY: tags $(SUB_DIRS)
80