X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=Makefile.am;h=1290551c4dca8a68f6f90141a29e09e92c391dbd;hp=623c193ff4397c1bafe85e976beab9faaa1cb4e5;hb=541d828d3101283ccdb1e25fa5a885e1d1743c1a;hpb=48d848c7291ec22da6258ac03cd9c1dafec1fdfb diff --git a/Makefile.am b/Makefile.am index 623c193..1290551 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,38 +1,70 @@ -ACLOCAL_AMFLAGS = -I m4 INCLUDES = -I$(top_builddir)/urcu -AM_LDFLAGS=-lpthread +#Add the -version-info directly here since we are only building +# library that use the version-info +AM_LDFLAGS=-lpthread -version-info $(URCU_LIBRARY_VERSION) +AM_CFLAGS=-Wall -SUBDIRS = tests +SUBDIRS = . tests -include_HEADERS = urcu.h $(top_srcdir)/urcu-*.h -nobase_dist_include_HEADERS = urcu/compiler.h urcu/hlist.h urcu/list.h urcu/rculist.h urcu/system.h -nobase_nodist_include_HEADERS = urcu/arch.h urcu/uatomic_arch.h +include_HEADERS = urcu.h urcu-bp.h urcu-call-rcu.h urcu-defer.h \ + urcu-pointer.h urcu-qsbr.h urcu-flavor.h +nobase_dist_include_HEADERS = urcu/compiler.h urcu/hlist.h urcu/list.h \ + urcu/rculist.h urcu/rcuhlist.h urcu/system.h urcu/futex.h \ + urcu/uatomic/generic.h urcu/arch/generic.h urcu/wfstack.h \ + urcu/wfqueue.h urcu/rculfstack.h urcu/rculfqueue.h \ + urcu/ref.h urcu/map/*.h urcu/static/*.h urcu/cds.h \ + urcu/urcu_ref.h urcu/urcu-futex.h urcu/uatomic_arch.h \ + urcu/rculfhash.h +nobase_nodist_include_HEADERS = urcu/arch.h urcu/uatomic.h urcu/config.h -EXTRA_DIST = $(top_srcdir)/urcu/arch_*.h $(top_srcdir)/urcu/uatomic_arch_*.h gpl-2.0.txt lgpl-2.1.txt lgpl-relicensing.txt README LICENSE +EXTRA_DIST = $(top_srcdir)/urcu/arch/*.h $(top_srcdir)/urcu/uatomic/*.h \ + gpl-2.0.txt lgpl-2.1.txt lgpl-relicensing.txt \ + README LICENSE compat_arch_x86.c \ + urcu-call-rcu-impl.h urcu-defer-impl.h \ + ChangeLog API.txt -lib_LTLIBRARIES = liburcu.la liburcu-mb.la liburcu-defer.la liburcu-qsbr.la liburcu-bp.la +if COMPAT_ARCH +COMPAT=compat_arch_@ARCHTYPE@.c +else +COMPAT= +endif -liburcu_la_SOURCES = urcu.c urcu-pointer.c +if COMPAT_FUTEX +COMPAT+=compat_futex.c +endif -liburcu_mb_la_SOURCES = urcu.c urcu-pointer.c -liburcu_mb_la_CFLAGS = -DURCU_MB +lib_LTLIBRARIES = liburcu-common.la \ + liburcu.la liburcu-qsbr.la \ + liburcu-mb.la liburcu-signal.la liburcu-bp.la \ + liburcu-cds.la -liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c +# +# liburcu-common contains wait-free queues (needed by call_rcu) as well +# as futex fallbacks. +# +liburcu_common_la_SOURCES = wfqueue.c wfstack.c $(COMPAT) -liburcu_defer_la_SOURCES = urcu-defer.c +liburcu_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT) +liburcu_la_LIBADD = liburcu-common.la -liburcu_qsbr_la_SOURCES = urcu-qsbr.c urcu-pointer.c +liburcu_qsbr_la_SOURCES = urcu-qsbr.c urcu-pointer.c $(COMPAT) +liburcu_qsbr_la_LIBADD = liburcu-common.la -*.h *.c: urcu/arch.h urcu/uatomic_arch.h +liburcu_mb_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT) +liburcu_mb_la_CFLAGS = -DRCU_MB +liburcu_mb_la_LIBADD = liburcu-common.la -urcu/arch.h: $(top_srcdir)/urcu/arch_@ARCHTYPE@.h - mkdir -p $(top_builddir)/urcu - cp -f $(top_srcdir)/urcu/arch_@ARCHTYPE@.h $(top_builddir)/urcu/arch.h +liburcu_signal_la_SOURCES = urcu.c urcu-pointer.c $(COMPAT) +liburcu_signal_la_CFLAGS = -DRCU_SIGNAL +liburcu_signal_la_LIBADD = liburcu-common.la -urcu/uatomic_arch.h: $(top_srcdir)/urcu/uatomic_arch_@ARCHTYPE@.h - mkdir -p $(top_builddir)/urcu - cp -f $(top_srcdir)/urcu/uatomic_arch_@ARCHTYPE@.h $(top_builddir)/urcu/uatomic_arch.h +liburcu_bp_la_SOURCES = urcu-bp.c urcu-pointer.c $(COMPAT) +liburcu_bp_la_LIBADD = liburcu-common.la -clean-local: - rm -f urcu/arch.h urcu/uatomic_arch.h +liburcu_cds_la_SOURCES = rculfqueue.c rculfstack.c rculfhash.c $(COMPAT) +liburcu_cds_la_LIBADD = liburcu-common.la + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = liburcu-cds.pc liburcu.pc liburcu-bp.pc liburcu-qsbr.pc \ + liburcu-signal.pc liburcu-mb.pc