Fix: Use proper macro to detect stdbool.h
[urcu.git] / Makefile.am
1 ACLOCAL_AMFLAGS=-I m4
2
3 AM_CPPFLAGS = -I$(top_builddir)/urcu
4
5 #Add the -version-info directly here since we are only building
6 # library that use the version-info
7 AM_LDFLAGS=-version-info $(URCU_LIBRARY_VERSION)
8 if !LIBC_INCLUDES_PTHREAD
9 AM_LDFLAGS+=-lpthread
10 endif
11 AM_CFLAGS=-Wall
12
13 SUBDIRS = . doc tests
14
15 include_HEADERS = urcu.h urcu-bp.h urcu-call-rcu.h urcu-defer.h \
16 urcu-pointer.h urcu-qsbr.h urcu-flavor.h
17 nobase_dist_include_HEADERS = urcu/compiler.h urcu/hlist.h urcu/list.h \
18 urcu/rculist.h urcu/rcuhlist.h urcu/system.h urcu/futex.h \
19 urcu/uatomic/generic.h urcu/arch/generic.h urcu/wfstack.h \
20 urcu/wfqueue.h urcu/rculfstack.h urcu/rculfqueue.h \
21 urcu/ref.h urcu/cds.h urcu/urcu_ref.h urcu/urcu-futex.h \
22 urcu/uatomic_arch.h urcu/rculfhash.h urcu/wfcqueue.h \
23 urcu/lfstack.h urcu/syscall-compat.h \
24 $(top_srcdir)/urcu/map/*.h \
25 $(top_srcdir)/urcu/static/*.h \
26 urcu/rand-compat.h \
27 urcu/tls-compat.h urcu/debug.h
28 nobase_nodist_include_HEADERS = urcu/arch.h urcu/uatomic.h urcu/config.h
29
30 dist_noinst_HEADERS = urcu-die.h urcu-wait.h compat-getcpu.h
31
32 EXTRA_DIST = $(top_srcdir)/urcu/arch/*.h $(top_srcdir)/urcu/uatomic/*.h \
33 gpl-2.0.txt lgpl-2.1.txt lgpl-relicensing.txt \
34 LICENSE compat_arch_x86.c \
35 urcu-call-rcu-impl.h urcu-defer-impl.h \
36 rculfhash-internal.h
37
38 if COMPAT_ARCH
39 COMPAT=compat_arch_@ARCHTYPE@.c
40 else
41 COMPAT=
42 endif
43
44 COMPAT+=compat_futex.c
45
46 RCULFHASH = rculfhash.c rculfhash-mm-order.c rculfhash-mm-chunk.c \
47 rculfhash-mm-mmap.c
48
49 lib_LTLIBRARIES = liburcu-common.la \
50 liburcu.la liburcu-qsbr.la \
51 liburcu-mb.la liburcu-signal.la liburcu-bp.la \
52 liburcu-cds.la
53
54 #
55 # liburcu-common contains wait-free queues (needed by call_rcu) as well
56 # as futex fallbacks.
57 #
58 liburcu_common_la_SOURCES = wfqueue.c wfcqueue.c wfstack.c $(COMPAT)
59
60 liburcu_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
61 liburcu_la_LIBADD = liburcu-common.la
62
63 liburcu_qsbr_la_SOURCES = urcu-qsbr.c urcu-pointer.c $(COMPAT)
64 liburcu_qsbr_la_LIBADD = liburcu-common.la
65
66 liburcu_mb_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
67 liburcu_mb_la_CFLAGS = -DRCU_MB
68 liburcu_mb_la_LIBADD = liburcu-common.la
69
70 liburcu_signal_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
71 liburcu_signal_la_CFLAGS = -DRCU_SIGNAL
72 liburcu_signal_la_LIBADD = liburcu-common.la
73
74 liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c $(COMPAT)
75 liburcu_bp_la_LIBADD = liburcu-common.la
76
77 liburcu_cds_la_SOURCES = rculfqueue.c rculfstack.c lfstack.c \
78 $(RCULFHASH) $(COMPAT)
79 liburcu_cds_la_LIBADD = liburcu-common.la
80
81 pkgconfigdir = $(libdir)/pkgconfig
82 pkgconfig_DATA = liburcu-cds.pc liburcu.pc liburcu-bp.pc liburcu-qsbr.pc \
83 liburcu-signal.pc liburcu-mb.pc
84
85 dist_doc_DATA = README.md ChangeLog
86
87 dist_noinst_DATA = CodingStyle
88
89 .PHONY: short_bench long_bench regtest
90 short_bench:
91 cd tests && $(MAKE) $(AM_MAKEFLAGS) short_bench
92 long_bench:
93 cd tests && $(MAKE) $(AM_MAKEFLAGS) long_bench
94 regtest:
95 cd tests && $(MAKE) $(AM_MAKEFLAGS) regtest
This page took 0.031347 seconds and 4 git commands to generate.