xref: /linux/tools/testing/selftests/riscv/vector/Makefile (revision 600f72ded8c877be95322ce806d23345ea5e89bc)
17cf6198cSAndy Chiu# SPDX-License-Identifier: GPL-2.0
27cf6198cSAndy Chiu# Copyright (C) 2021 ARM Limited
37cf6198cSAndy Chiu# Originally tools/testing/arm64/abi/Makefile
47cf6198cSAndy Chiu
5*600f72deSSergey MatyukevichTEST_GEN_PROGS := v_initval vstate_prctl vstate_ptrace validate_v_ptrace
657d7713aSCharlie JenkinsTEST_GEN_PROGS_EXTENDED := vstate_exec_nolibc v_exec_initval_nolibc
7*600f72deSSergey MatyukevichTEST_GEN_LIBS := v_helpers.c sys_hwprobe.c
87cf6198cSAndy Chiu
97cf6198cSAndy Chiuinclude ../../lib.mk
107cf6198cSAndy Chiu
11*600f72deSSergey MatyukevichTEST_GEN_OBJ := $(patsubst %.c, $(OUTPUT)/%.o, $(TEST_GEN_LIBS))
12*600f72deSSergey Matyukevich
1357d7713aSCharlie Jenkins$(OUTPUT)/sys_hwprobe.o: ../hwprobe/sys_hwprobe.S
1457d7713aSCharlie Jenkins	$(CC) -static -c -o$@ $(CFLAGS) $^
1557d7713aSCharlie Jenkins
1657d7713aSCharlie Jenkins$(OUTPUT)/v_helpers.o: v_helpers.c
1757d7713aSCharlie Jenkins	$(CC) -static -c -o$@ $(CFLAGS) $^
1857d7713aSCharlie Jenkins
1957d7713aSCharlie Jenkins$(OUTPUT)/vstate_prctl: vstate_prctl.c $(OUTPUT)/sys_hwprobe.o $(OUTPUT)/v_helpers.o
207cf6198cSAndy Chiu	$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
217cf6198cSAndy Chiu
227cf6198cSAndy Chiu$(OUTPUT)/vstate_exec_nolibc: vstate_exec_nolibc.c
237cf6198cSAndy Chiu	$(CC) -nostdlib -static -include ../../../../include/nolibc/nolibc.h \
247cf6198cSAndy Chiu		-Wall $(CFLAGS) $(LDFLAGS) $^ -o $@ -lgcc
255c93c4c7SAndy Chiu
2657d7713aSCharlie Jenkins$(OUTPUT)/v_initval: v_initval.c $(OUTPUT)/sys_hwprobe.o $(OUTPUT)/v_helpers.o
2757d7713aSCharlie Jenkins	$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
2857d7713aSCharlie Jenkins
2957d7713aSCharlie Jenkins$(OUTPUT)/v_exec_initval_nolibc: v_exec_initval_nolibc.c
305c93c4c7SAndy Chiu	$(CC) -nostdlib -static -include ../../../../include/nolibc/nolibc.h \
315c93c4c7SAndy Chiu		-Wall $(CFLAGS) $(LDFLAGS) $^ -o $@ -lgcc
32f0ae09a8SYong-Xuan Wang
33f0ae09a8SYong-Xuan Wang$(OUTPUT)/vstate_ptrace: vstate_ptrace.c $(OUTPUT)/sys_hwprobe.o $(OUTPUT)/v_helpers.o
34f0ae09a8SYong-Xuan Wang	$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
35*600f72deSSergey Matyukevich
36*600f72deSSergey Matyukevich$(OUTPUT)/validate_v_ptrace: validate_v_ptrace.c $(OUTPUT)/sys_hwprobe.o $(OUTPUT)/v_helpers.o
37*600f72deSSergey Matyukevich	$(CC) -static -o$@ $(CFLAGS) $(LDFLAGS) $^
38*600f72deSSergey Matyukevich
39*600f72deSSergey MatyukevichEXTRA_CLEAN += $(TEST_GEN_OBJ)
40