xref: /linux/tools/testing/selftests/vDSO/Makefile (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1# SPDX-License-Identifier: GPL-2.0
2include ../../../scripts/Makefile.arch
3
4TEST_GEN_PROGS := vdso_test_gettimeofday
5TEST_GEN_PROGS += vdso_test_getcpu
6TEST_GEN_PROGS += vdso_test_abi
7TEST_GEN_PROGS += vdso_test_clock_getres
8ifeq ($(ARCH),$(filter $(ARCH),x86 x86_64))
9TEST_GEN_PROGS += vdso_standalone_test_x86
10endif
11TEST_GEN_PROGS += vdso_test_correctness
12TEST_GEN_PROGS += vdso_test_getrandom
13TEST_GEN_PROGS += vdso_test_chacha
14
15CFLAGS := -std=gnu99 -O2
16
17ifeq ($(CONFIG_X86_32),y)
18LDLIBS += -lgcc_s
19endif
20
21include ../lib.mk
22
23CFLAGS += $(TOOLS_INCLUDES)
24
25CFLAGS_NOLIBC := -nostdlib -nostdinc -ffreestanding -fno-asynchronous-unwind-tables \
26		 -fno-stack-protector -include $(top_srcdir)/tools/include/nolibc/nolibc.h \
27		 -I$(top_srcdir)/tools/include/nolibc/ $(KHDR_INCLUDES)
28
29$(OUTPUT)/vdso_test_gettimeofday: parse_vdso.c vdso_test_gettimeofday.c
30$(OUTPUT)/vdso_test_getcpu: parse_vdso.c vdso_test_getcpu.c
31$(OUTPUT)/vdso_test_abi: parse_vdso.c vdso_test_abi.c
32$(OUTPUT)/vdso_test_clock_getres: vdso_test_clock_getres.c
33
34$(OUTPUT)/vdso_standalone_test_x86: vdso_standalone_test_x86.c parse_vdso.c | headers
35$(OUTPUT)/vdso_standalone_test_x86: CFLAGS:=$(CFLAGS_NOLIBC) $(CFLAGS)
36
37$(OUTPUT)/vdso_test_correctness: vdso_test_correctness.c
38$(OUTPUT)/vdso_test_correctness: LDFLAGS += -ldl
39
40$(OUTPUT)/vdso_test_getrandom: parse_vdso.c
41$(OUTPUT)/vdso_test_getrandom: CFLAGS += -isystem $(top_srcdir)/tools/include \
42                                         $(KHDR_INCLUDES) \
43                                         -isystem $(top_srcdir)/include/uapi
44
45$(OUTPUT)/vdso_test_chacha: vgetrandom-chacha.S
46$(OUTPUT)/vdso_test_chacha: CFLAGS += -idirafter $(top_srcdir)/tools/include \
47                                      -idirafter $(top_srcdir)/tools/include/generated \
48                                      -idirafter $(top_srcdir)/arch/$(SRCARCH)/include \
49                                      -idirafter $(top_srcdir)/include \
50                                      -Wa,--noexecstack
51