xref: /linux/tools/testing/selftests/arm64/fp/Makefile (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1e093256dSMark Brown# SPDX-License-Identifier: GPL-2.0
2e093256dSMark Brown
33a23a42dSMark Brown# A proper top_srcdir is needed by KSFT(lib.mk)
43a23a42dSMark Browntop_srcdir = $(realpath ../../../../../)
53a23a42dSMark Brown
67482c191SMathieu DesnoyersCFLAGS += $(KHDR_INCLUDES)
73a23a42dSMark Brown
8c745b15cSMark BrownTEST_GEN_PROGS := \
9c745b15cSMark Brown	fp-ptrace \
10c745b15cSMark Brown	fp-stress \
11fd5c2c6fSMark Brown	sve-ptrace sve-probe-vls \
12fd5c2c6fSMark Brown	vec-syscfg \
13fd5c2c6fSMark Brown	za-fork za-ptrace
14a59f7a7fSMark BrownTEST_GEN_PROGS_EXTENDED := fp-pidbench fpsimd-test \
15*d5859510SMark Brown	kernel-test \
16a0f2eb64SMark Brown	rdvl-sme rdvl-sve \
17a59f7a7fSMark Brown	sve-test \
18a59f7a7fSMark Brown	ssve-test \
19a59f7a7fSMark Brown	za-test \
204e1aa1a1SMark Brown	zt-ptrace \
211c07425eSMark Brown	zt-test \
2277108610SMark Brown	vlset
23a59f7a7fSMark BrownTEST_PROGS_EXTENDED := fpsimd-stress sve-stress ssve-stress za-stress
24e093256dSMark Brown
25399cf0a3SMark BrownEXTRA_CLEAN += $(OUTPUT)/asm-utils.o $(OUTPUT)/rdvl.o $(OUTPUT)/za-fork-asm.o
26399cf0a3SMark Brown
27212b0426SMark Brown# Build with nolibc to avoid effects due to libc's clone() support
28aca43ad5SMark Brown$(OUTPUT)/fp-pidbench: fp-pidbench.S $(OUTPUT)/asm-utils.o
292c94ebedSMark Brown	$(CC) -nostdlib $^ -o $@
30c745b15cSMark Brown$(OUTPUT)/fp-ptrace: fp-ptrace.c fp-ptrace-asm.S
31aca43ad5SMark Brown$(OUTPUT)/fpsimd-test: fpsimd-test.S $(OUTPUT)/asm-utils.o
32e093256dSMark Brown	$(CC) -nostdlib $^ -o $@
33aca43ad5SMark Brown$(OUTPUT)/rdvl-sve: rdvl-sve.c $(OUTPUT)/rdvl.o
34aca43ad5SMark Brown$(OUTPUT)/rdvl-sme: rdvl-sme.c $(OUTPUT)/rdvl.o
35aca43ad5SMark Brown$(OUTPUT)/sve-ptrace: sve-ptrace.c
36aca43ad5SMark Brown$(OUTPUT)/sve-probe-vls: sve-probe-vls.c $(OUTPUT)/rdvl.o
37aca43ad5SMark Brown$(OUTPUT)/sve-test: sve-test.S $(OUTPUT)/asm-utils.o
38e093256dSMark Brown	$(CC) -nostdlib $^ -o $@
39aca43ad5SMark Brown$(OUTPUT)/ssve-test: sve-test.S $(OUTPUT)/asm-utils.o
404126bde0SMark Brown	$(CC) -DSSVE -nostdlib $^ -o $@
41aca43ad5SMark Brown$(OUTPUT)/vec-syscfg: vec-syscfg.c $(OUTPUT)/rdvl.o
42aca43ad5SMark Brown$(OUTPUT)/vlset: vlset.c
43aca43ad5SMark Brown$(OUTPUT)/za-fork: za-fork.c $(OUTPUT)/za-fork-asm.o
44aca43ad5SMark Brown	$(CC) -fno-asynchronous-unwind-tables -fno-ident -s -Os -nostdlib \
45266679ffSMark Brown		-include ../../../../include/nolibc/nolibc.h -I../..\
46aca43ad5SMark Brown		-static -ffreestanding -Wall $^ -o $@
47aca43ad5SMark Brown$(OUTPUT)/za-ptrace: za-ptrace.c
48aca43ad5SMark Brown$(OUTPUT)/za-test: za-test.S $(OUTPUT)/asm-utils.o
495aa45cc5SMark Brown	$(CC) -nostdlib $^ -o $@
504e1aa1a1SMark Brown$(OUTPUT)/zt-ptrace: zt-ptrace.c
511c07425eSMark Brown$(OUTPUT)/zt-test: zt-test.S $(OUTPUT)/asm-utils.o
521c07425eSMark Brown	$(CC) -nostdlib $^ -o $@
53e093256dSMark Brown
54e093256dSMark Browninclude ../../lib.mk
55