1 # SPDX-License-Identifier: GPL-2.0+ OR MIT
3 ifneq ($(shell $(CC
) --version
2>&1 | head
-n
1 | grep clang
),)
4 CLANG_FLAGS
+= -no-integrated-as
7 CFLAGS
+= -O2
-Wall
-g
-I.
/ -I..
/..
/..
/..
/usr
/include/ -L
$(OUTPUT
) -Wl
,-rpath
=.
/ \
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.
15 TEST_GEN_PROGS
= basic_test basic_percpu_ops_test param_test \
16 param_test_benchmark param_test_compare_twice
18 TEST_GEN_PROGS_EXTENDED
= librseq.so
20 TEST_PROGS
= run_param_test.sh
22 TEST_FILES
:= settings
26 $(OUTPUT
)/librseq.so
: rseq.c rseq.h rseq-
*.h
27 $(CC
) $(CFLAGS
) -shared
-fPIC
$< $(LDLIBS
) -o
$@
29 $(OUTPUT
)/%: %.c
$(TEST_GEN_PROGS_EXTENDED
) rseq.h rseq-
*.h
30 $(CC
) $(CFLAGS
) $< $(LDLIBS
) -lrseq
-o
$@
32 $(OUTPUT
)/param_test_benchmark
: param_test.c
$(TEST_GEN_PROGS_EXTENDED
) \
34 $(CC
) $(CFLAGS
) -DBENCHMARK
$< $(LDLIBS
) -lrseq
-o
$@
36 $(OUTPUT
)/param_test_compare_twice
: param_test.c
$(TEST_GEN_PROGS_EXTENDED
) \
38 $(CC
) $(CFLAGS
) -DRSEQ_COMPARE_TWICE
$< $(LDLIBS
) -lrseq
-o
$@