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
63a23a42dSMark BrownCFLAGS += -I$(top_srcdir)/usr/include/
73a23a42dSMark Brown
8212b0426SMark BrownTEST_GEN_PROGS := sve-ptrace sve-probe-vls vec-syscfg za-fork za-ptrace
9a59f7a7fSMark BrownTEST_GEN_PROGS_EXTENDED := fp-pidbench fpsimd-test \
10a0f2eb64SMark Brown	rdvl-sme rdvl-sve \
11a59f7a7fSMark Brown	sve-test \
12a59f7a7fSMark Brown	ssve-test \
13a59f7a7fSMark Brown	za-test \
1477108610SMark Brown	vlset
15a59f7a7fSMark BrownTEST_PROGS_EXTENDED := fpsimd-stress sve-stress ssve-stress za-stress
16e093256dSMark Brown
17399cf0a3SMark BrownEXTRA_CLEAN += $(OUTPUT)/asm-utils.o $(OUTPUT)/rdvl.o $(OUTPUT)/za-fork-asm.o
18399cf0a3SMark Brown
19212b0426SMark Brown# Build with nolibc to avoid effects due to libc's clone() support
20*aca43ad5SMark Brown$(OUTPUT)/fp-pidbench: fp-pidbench.S $(OUTPUT)/asm-utils.o
212c94ebedSMark Brown	$(CC) -nostdlib $^ -o $@
22*aca43ad5SMark Brown$(OUTPUT)/fpsimd-test: fpsimd-test.S $(OUTPUT)/asm-utils.o
23e093256dSMark Brown	$(CC) -nostdlib $^ -o $@
24*aca43ad5SMark Brown$(OUTPUT)/rdvl-sve: rdvl-sve.c $(OUTPUT)/rdvl.o
25*aca43ad5SMark Brown$(OUTPUT)/rdvl-sme: rdvl-sme.c $(OUTPUT)/rdvl.o
26*aca43ad5SMark Brown$(OUTPUT)/sve-ptrace: sve-ptrace.c
27*aca43ad5SMark Brown$(OUTPUT)/sve-probe-vls: sve-probe-vls.c $(OUTPUT)/rdvl.o
28*aca43ad5SMark Brown$(OUTPUT)/sve-test: sve-test.S $(OUTPUT)/asm-utils.o
29e093256dSMark Brown	$(CC) -nostdlib $^ -o $@
30*aca43ad5SMark Brown$(OUTPUT)/ssve-test: sve-test.S $(OUTPUT)/asm-utils.o
314126bde0SMark Brown	$(CC) -DSSVE -nostdlib $^ -o $@
32*aca43ad5SMark Brown$(OUTPUT)/vec-syscfg: vec-syscfg.c $(OUTPUT)/rdvl.o
33*aca43ad5SMark Brown$(OUTPUT)/vlset: vlset.c
34*aca43ad5SMark Brown$(OUTPUT)/za-fork: za-fork.c $(OUTPUT)/za-fork-asm.o
35*aca43ad5SMark Brown	$(CC) -fno-asynchronous-unwind-tables -fno-ident -s -Os -nostdlib \
36212b0426SMark Brown		-include ../../../../include/nolibc/nolibc.h \
37*aca43ad5SMark Brown		-static -ffreestanding -Wall $^ -o $@
38*aca43ad5SMark Brown$(OUTPUT)/za-ptrace: za-ptrace.c
39*aca43ad5SMark Brown$(OUTPUT)/za-test: za-test.S $(OUTPUT)/asm-utils.o
405aa45cc5SMark Brown	$(CC) -nostdlib $^ -o $@
41e093256dSMark Brown
42e093256dSMark Browninclude ../../lib.mk
43