xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/rseq/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0+ OR MIT
2*4882a593Smuzhiyun
3*4882a593Smuzhiyunifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
4*4882a593SmuzhiyunCLANG_FLAGS += -no-integrated-as
5*4882a593Smuzhiyunendif
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunCFLAGS += -O2 -Wall -g -I./ -I../../../../usr/include/ -L$(OUTPUT) -Wl,-rpath=./ \
8*4882a593Smuzhiyun	  $(CLANG_FLAGS)
9*4882a593SmuzhiyunLDLIBS += -lpthread -ldl
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun# Own dependencies because we only want to build against 1st prerequisite, but
12*4882a593Smuzhiyun# still track changes to header files and depend on shared object.
13*4882a593SmuzhiyunOVERRIDE_TARGETS = 1
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunTEST_GEN_PROGS = basic_test basic_percpu_ops_test param_test \
16*4882a593Smuzhiyun		param_test_benchmark param_test_compare_twice
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunTEST_GEN_PROGS_EXTENDED = librseq.so
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunTEST_PROGS = run_param_test.sh
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunTEST_FILES := settings
23*4882a593Smuzhiyun
24*4882a593Smuzhiyuninclude ../lib.mk
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun$(OUTPUT)/librseq.so: rseq.c rseq.h rseq-*.h
27*4882a593Smuzhiyun	$(CC) $(CFLAGS) -shared -fPIC $< $(LDLIBS) -o $@
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun$(OUTPUT)/%: %.c $(TEST_GEN_PROGS_EXTENDED) rseq.h rseq-*.h
30*4882a593Smuzhiyun	$(CC) $(CFLAGS) $< $(LDLIBS) -lrseq -o $@
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun$(OUTPUT)/param_test_benchmark: param_test.c $(TEST_GEN_PROGS_EXTENDED) \
33*4882a593Smuzhiyun					rseq.h rseq-*.h
34*4882a593Smuzhiyun	$(CC) $(CFLAGS) -DBENCHMARK $< $(LDLIBS) -lrseq -o $@
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun$(OUTPUT)/param_test_compare_twice: param_test.c $(TEST_GEN_PROGS_EXTENDED) \
37*4882a593Smuzhiyun					rseq.h rseq-*.h
38*4882a593Smuzhiyun	$(CC) $(CFLAGS) -DRSEQ_COMPARE_TWICE $< $(LDLIBS) -lrseq -o $@
39