Fix: Add failover for platforms without nproc
[deliverable/userspace-rcu.git] / Makefile.am
CommitLineData
074c3a1b 1ACLOCAL_AMFLAGS=-I m4
a6412536 2
7d8246f8 3AM_CPPFLAGS = -I$(top_builddir)/urcu
48d848c7 4
61e0e506
YB
5#Add the -version-info directly here since we are only building
6# library that use the version-info
58a052ef 7AM_LDFLAGS=-version-info $(URCU_LIBRARY_VERSION)
0e1efa0e 8if !LIBC_INCLUDES_PTHREAD
58a052ef
CB
9AM_LDFLAGS+=-lpthread
10endif
e14c9f0d
SB
11if USE_CYGWIN
12AM_LDFLAGS+=-no-undefined
13endif
b57aee66 14AM_CFLAGS=-Wall
48d848c7 15
fe999c05 16SUBDIRS = . doc tests
48d848c7 17
ee6fabe1 18include_HEADERS = urcu.h urcu-bp.h urcu-call-rcu.h urcu-defer.h \
541d828d 19 urcu-pointer.h urcu-qsbr.h urcu-flavor.h
0854ccff 20nobase_dist_include_HEADERS = urcu/compiler.h urcu/hlist.h urcu/list.h \
41849996 21 urcu/rculist.h urcu/rcuhlist.h urcu/system.h urcu/futex.h \
a2e7bf9c 22 urcu/uatomic/generic.h urcu/arch/generic.h urcu/wfstack.h \
3d02c34d 23 urcu/wfqueue.h urcu/rculfstack.h urcu/rculfqueue.h \
e2246284 24 urcu/ref.h urcu/cds.h urcu/urcu_ref.h urcu/urcu-futex.h \
8ad4ce58 25 urcu/uatomic_arch.h urcu/rculfhash.h urcu/wfcqueue.h \
9ba261bd 26 urcu/lfstack.h urcu/syscall-compat.h \
e2246284 27 $(top_srcdir)/urcu/map/*.h \
4d0d66bb 28 $(top_srcdir)/urcu/static/*.h \
e1c0b55c 29 urcu/rand-compat.h \
a77f7d82 30 urcu/tls-compat.h urcu/debug.h
a2e7bf9c 31nobase_nodist_include_HEADERS = urcu/arch.h urcu/uatomic.h urcu/config.h
48d848c7 32
a47dd11c 33dist_noinst_HEADERS = urcu-die.h urcu-wait.h compat-getcpu.h
4a6d7378 34
a2e7bf9c 35EXTRA_DIST = $(top_srcdir)/urcu/arch/*.h $(top_srcdir)/urcu/uatomic/*.h \
7d413817 36 gpl-2.0.txt lgpl-2.1.txt lgpl-relicensing.txt \
fe999c05 37 LICENSE compat_arch_x86.c \
d6fe5b23 38 urcu-call-rcu-impl.h urcu-defer-impl.h \
f5ab766e 39 rculfhash-internal.h
7d413817
MD
40
41if COMPAT_ARCH
42COMPAT=compat_arch_@ARCHTYPE@.c
43else
44COMPAT=
45endif
46
0854ccff 47COMPAT+=compat_futex.c
48d848c7 48
b0b55251
LJ
49RCULFHASH = rculfhash.c rculfhash-mm-order.c rculfhash-mm-chunk.c \
50 rculfhash-mm-mmap.c
0b6aa001 51
4157e1ac 52lib_LTLIBRARIES = liburcu-common.la \
2d47d69e 53 liburcu.la liburcu-qsbr.la \
d4b99c01 54 liburcu-mb.la liburcu-signal.la liburcu-bp.la \
4157e1ac 55 liburcu-cds.la
f48d0855 56
4157e1ac
MD
57#
58# liburcu-common contains wait-free queues (needed by call_rcu) as well
59# as futex fallbacks.
60#
8ad4ce58 61liburcu_common_la_SOURCES = wfqueue.c wfcqueue.c wfstack.c $(COMPAT)
48d848c7 62
7d413817 63liburcu_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
4157e1ac 64liburcu_la_LIBADD = liburcu-common.la
48d848c7 65
fdf01eed 66liburcu_qsbr_la_SOURCES = urcu-qsbr.c urcu-pointer.c $(COMPAT)
4157e1ac 67liburcu_qsbr_la_LIBADD = liburcu-common.la
fdf01eed 68
7d413817 69liburcu_mb_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
4a620853 70liburcu_mb_la_CFLAGS = -DRCU_MB
4157e1ac 71liburcu_mb_la_LIBADD = liburcu-common.la
48d848c7 72
fdf01eed 73liburcu_signal_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT)
4a620853 74liburcu_signal_la_CFLAGS = -DRCU_SIGNAL
4157e1ac 75liburcu_signal_la_LIBADD = liburcu-common.la
fdf01eed 76
7d413817 77liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c $(COMPAT)
4157e1ac
MD
78liburcu_bp_la_LIBADD = liburcu-common.la
79
d3bfcb24
MD
80liburcu_cds_la_SOURCES = rculfqueue.c rculfstack.c lfstack.c \
81 $(RCULFHASH) $(COMPAT)
4157e1ac 82liburcu_cds_la_LIBADD = liburcu-common.la
2260a36c
YB
83
84pkgconfigdir = $(libdir)/pkgconfig
fe670822
YB
85pkgconfig_DATA = liburcu-cds.pc liburcu.pc liburcu-bp.pc liburcu-qsbr.pc \
86 liburcu-signal.pc liburcu-mb.pc
53dae825 87
2fec8f05 88dist_doc_DATA = README.md ChangeLog
b8573955
MD
89
90dist_noinst_DATA = CodingStyle
f5ab766e 91
ad460058
MD
92.PHONY: short_bench long_bench regtest
93short_bench:
94 cd tests && $(MAKE) $(AM_MAKEFLAGS) short_bench
95long_bench:
96 cd tests && $(MAKE) $(AM_MAKEFLAGS) long_bench
f5ab766e
MD
97regtest:
98 cd tests && $(MAKE) $(AM_MAKEFLAGS) regtest
This page took 0.035411 seconds and 4 git commands to generate.