Commit | Line | Data |
---|---|---|
ccba8b64 | 1 | # SPDX-License-Identifier: GPL-2.0+ OR MIT |
fdeb89d8 MD |
2 | |
3 | ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),) | |
4 | CLANG_FLAGS += -no-integrated-as | |
5 | endif | |
6 | ||
7 | CFLAGS += -O2 -Wall -g -I./ -I../../../../usr/include/ -L./ -Wl,-rpath=./ \ | |
8 | $(CLANG_FLAGS) | |
ccba8b64 MD |
9 | LDLIBS += -lpthread |
10 | ||
11 | # Own dependencies because we only want to build against 1st prerequisite, but | |
12 | # still track changes to header files and depend on shared object. | |
13 | OVERRIDE_TARGETS = 1 | |
14 | ||
15 | TEST_GEN_PROGS = basic_test basic_percpu_ops_test param_test \ | |
16 | param_test_benchmark param_test_compare_twice | |
17 | ||
18 | TEST_GEN_PROGS_EXTENDED = librseq.so | |
19 | ||
20 | TEST_PROGS = run_param_test.sh | |
21 | ||
22 | include ../lib.mk | |
23 | ||
24 | $(OUTPUT)/librseq.so: rseq.c rseq.h rseq-*.h | |
25 | $(CC) $(CFLAGS) -shared -fPIC $< $(LDLIBS) -o $@ | |
26 | ||
27 | $(OUTPUT)/%: %.c $(TEST_GEN_PROGS_EXTENDED) rseq.h rseq-*.h | |
28 | $(CC) $(CFLAGS) $< $(LDLIBS) -lrseq -o $@ | |
29 | ||
30 | $(OUTPUT)/param_test_benchmark: param_test.c $(TEST_GEN_PROGS_EXTENDED) \ | |
31 | rseq.h rseq-*.h | |
32 | $(CC) $(CFLAGS) -DBENCHMARK $< $(LDLIBS) -lrseq -o $@ | |
33 | ||
34 | $(OUTPUT)/param_test_compare_twice: param_test.c $(TEST_GEN_PROGS_EXTENDED) \ | |
35 | rseq.h rseq-*.h | |
36 | $(CC) $(CFLAGS) -DRSEQ_COMPARE_TWICE $< $(LDLIBS) -lrseq -o $@ |