xref: /linux/tools/testing/selftests/arm64/Makefile (revision 569f8b501b177f21121d483a96491716ab8905f4)
19ce12630SAndrey Konovalov# SPDX-License-Identifier: GPL-2.0
29ce12630SAndrey Konovalov
3313a4db7SCristian Marussi# When ARCH not overridden for crosscompiling, lookup machine
49ce12630SAndrey KonovalovARCH ?= $(shell uname -m 2>/dev/null || echo not)
59ce12630SAndrey Konovalov
69ce12630SAndrey Konovalovifneq (,$(filter $(ARCH),aarch64 arm64))
7b77e995eSMark BrownARM64_SUBTARGETS ?= tags signal pauth fp mte bti abi
8313a4db7SCristian Marussielse
9313a4db7SCristian MarussiARM64_SUBTARGETS :=
109ce12630SAndrey Konovalovendif
119ce12630SAndrey Konovalov
12313a4db7SCristian MarussiCFLAGS := -Wall -O2 -g
13313a4db7SCristian Marussi
14313a4db7SCristian Marussi# A proper top_srcdir is needed by KSFT(lib.mk)
15313a4db7SCristian Marussitop_srcdir = $(realpath ../../../../)
16313a4db7SCristian Marussi
17313a4db7SCristian Marussi# Additional include paths needed by kselftest.h and local headers
18313a4db7SCristian MarussiCFLAGS += -I$(top_srcdir)/tools/testing/selftests/
19313a4db7SCristian Marussi
20ae60e076SMark BrownCFLAGS += $(KHDR_INCLUDES)
21313a4db7SCristian Marussi
22313a4db7SCristian Marussiexport CFLAGS
23313a4db7SCristian Marussiexport top_srcdir
24313a4db7SCristian Marussi
25313a4db7SCristian Marussiall:
26313a4db7SCristian Marussi	@for DIR in $(ARM64_SUBTARGETS); do				\
27313a4db7SCristian Marussi		BUILD_TARGET=$(OUTPUT)/$$DIR;			\
28313a4db7SCristian Marussi		mkdir -p $$BUILD_TARGET;			\
29313a4db7SCristian Marussi		make OUTPUT=$$BUILD_TARGET -C $$DIR $@;		\
30313a4db7SCristian Marussi	done
31313a4db7SCristian Marussi
32313a4db7SCristian Marussiinstall: all
33313a4db7SCristian Marussi	@for DIR in $(ARM64_SUBTARGETS); do				\
34313a4db7SCristian Marussi		BUILD_TARGET=$(OUTPUT)/$$DIR;			\
35313a4db7SCristian Marussi		make OUTPUT=$$BUILD_TARGET -C $$DIR $@;		\
36313a4db7SCristian Marussi	done
37313a4db7SCristian Marussi
38313a4db7SCristian Marussirun_tests: all
39313a4db7SCristian Marussi	@for DIR in $(ARM64_SUBTARGETS); do				\
40313a4db7SCristian Marussi		BUILD_TARGET=$(OUTPUT)/$$DIR;			\
41313a4db7SCristian Marussi		make OUTPUT=$$BUILD_TARGET -C $$DIR $@;		\
42313a4db7SCristian Marussi	done
43313a4db7SCristian Marussi
44313a4db7SCristian Marussi# Avoid any output on non arm64 on emit_tests
45*569f8b50SJohn Hubbardemit_tests:
46313a4db7SCristian Marussi	@for DIR in $(ARM64_SUBTARGETS); do				\
47313a4db7SCristian Marussi		BUILD_TARGET=$(OUTPUT)/$$DIR;			\
48313a4db7SCristian Marussi		make OUTPUT=$$BUILD_TARGET -C $$DIR $@;		\
49313a4db7SCristian Marussi	done
50313a4db7SCristian Marussi
51313a4db7SCristian Marussiclean:
52313a4db7SCristian Marussi	@for DIR in $(ARM64_SUBTARGETS); do				\
53313a4db7SCristian Marussi		BUILD_TARGET=$(OUTPUT)/$$DIR;			\
54313a4db7SCristian Marussi		make OUTPUT=$$BUILD_TARGET -C $$DIR $@;		\
55313a4db7SCristian Marussi	done
56313a4db7SCristian Marussi
57313a4db7SCristian Marussi.PHONY: all clean install run_tests emit_tests
58