xref: /linux/tools/testing/selftests/riscv/vector/Makefile (revision 600f72ded8c877be95322ce806d23345ea5e89bc)
1# SPDX-License-Identifier: GPL-2.0
2# Copyright (C) 2021 ARM Limited
3# Originally tools/testing/arm64/abi/Makefile
4
5TEST_GEN_PROGS := v_initval vstate_prctl vstate_ptrace validate_v_ptrace
6TEST_GEN_PROGS_EXTENDED := vstate_exec_nolibc v_exec_initval_nolibc
7TEST_GEN_LIBS := v_helpers.c sys_hwprobe.c
8
9include ../../lib.mk
10
11TEST_GEN_OBJ := $(patsubst %.c, $(OUTPUT)/%.o, $(TEST_GEN_LIBS))
12
13$(OUTPUT)/sys_hwprobe.o: ../hwprobe/sys_hwprobe.S
14	$(CC) -static -c -o$@ $(CFLAGS) $^
15
16$(OUTPUT)/v_helpers.o: v_helpers.c
17	$(CC) -static -c -o$@ $(CFLAGS) $^
18
19$(OUTPUT)/vstate_prctl: vstate_prctl.c $(OUTPUT)/sys_hwprobe.o $(OUTPUT)/v_helpers.o
20	$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
21
22$(OUTPUT)/vstate_exec_nolibc: vstate_exec_nolibc.c
23	$(CC) -nostdlib -static -include ../../../../include/nolibc/nolibc.h \
24		-Wall $(CFLAGS) $(LDFLAGS) $^ -o $@ -lgcc
25
26$(OUTPUT)/v_initval: v_initval.c $(OUTPUT)/sys_hwprobe.o $(OUTPUT)/v_helpers.o
27	$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
28
29$(OUTPUT)/v_exec_initval_nolibc: v_exec_initval_nolibc.c
30	$(CC) -nostdlib -static -include ../../../../include/nolibc/nolibc.h \
31		-Wall $(CFLAGS) $(LDFLAGS) $^ -o $@ -lgcc
32
33$(OUTPUT)/vstate_ptrace: vstate_ptrace.c $(OUTPUT)/sys_hwprobe.o $(OUTPUT)/v_helpers.o
34	$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
35
36$(OUTPUT)/validate_v_ptrace: validate_v_ptrace.c $(OUTPUT)/sys_hwprobe.o $(OUTPUT)/v_helpers.o
37	$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
38
39EXTRA_CLEAN += $(TEST_GEN_OBJ)
40