28b93cab8c0ddac5c2709b0d61f80a68400dfc9f
[platform/kernel/linux-starfive.git] / tools / testing / selftests / arm64 / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2
3 # When ARCH not overridden for crosscompiling, lookup machine
4 ARCH ?= $(shell uname -m 2>/dev/null || echo not)
5
6 ifneq (,$(filter $(ARCH),aarch64 arm64))
7 ARM64_SUBTARGETS ?= tags signal pauth fp mte bti abi
8 else
9 ARM64_SUBTARGETS :=
10 endif
11
12 CFLAGS := -Wall -O2 -g
13
14 # A proper top_srcdir is needed by KSFT(lib.mk)
15 top_srcdir = $(realpath ../../../../)
16
17 # Additional include paths needed by kselftest.h and local headers
18 CFLAGS += -I$(top_srcdir)/tools/testing/selftests/
19
20 CFLAGS += $(KHDR_INCLUDES)
21
22 CFLAGS += -I$(top_srcdir)/tools/include
23
24 export CFLAGS
25 export top_srcdir
26
27 all:
28         @for DIR in $(ARM64_SUBTARGETS); do                             \
29                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
30                 mkdir -p $$BUILD_TARGET;                        \
31                 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;         \
32         done
33
34 install: all
35         @for DIR in $(ARM64_SUBTARGETS); do                             \
36                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
37                 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;         \
38         done
39
40 run_tests: all
41         @for DIR in $(ARM64_SUBTARGETS); do                             \
42                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
43                 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;         \
44         done
45
46 # Avoid any output on non arm64 on emit_tests
47 emit_tests:
48         @for DIR in $(ARM64_SUBTARGETS); do                             \
49                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
50                 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;         \
51         done
52
53 clean:
54         @for DIR in $(ARM64_SUBTARGETS); do                             \
55                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
56                 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;         \
57         done
58
59 .PHONY: all clean install run_tests emit_tests