X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Fregression%2FMakefile.am;h=328dcf423be1e663d746c7ce45d423da4edecfb4;hp=80cb1bc3ab04b1b3617e64f8f5583fb3bf912770;hb=9a79c612003362a97217613b7906a4782977d373;hpb=0e1efa0e8c7961fc3eca21d0268c07f44eb572e5 diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am index 80cb1bc..328dcf4 100644 --- a/tests/regression/Makefile.am +++ b/tests/regression/Makefile.am @@ -1,7 +1,10 @@ -if !LIBC_INCLUDES_PTHREAD -AM_LDFLAGS=-lpthread -endif -AM_CFLAGS=-I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/tests/common -g +AM_CFLAGS += $(PTHREAD_CFLAGS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_srcdir)/tests/utils -I$(top_srcdir)/tests/common -g + +SCRIPT_LIST = run.sh + +dist_noinst_SCRIPTS = $(SCRIPT_LIST) + +dist_noinst_DATA = regression_tests.in noinst_PROGRAMS = test_urcu_fork \ rcutorture_urcu \ @@ -12,66 +15,55 @@ noinst_PROGRAMS = test_urcu_fork \ noinst_HEADERS = rcutorture.h -if COMPAT_ARCH -COMPAT=$(top_srcdir)/compat_arch_@ARCHTYPE@.c -else -COMPAT= -endif - -if COMPAT_FUTEX -COMPAT+=$(top_srcdir)/compat_futex.c -endif - -URCU=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) -URCU_QSBR=$(top_srcdir)/urcu-qsbr.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) -# URCU_MB uses urcu.c but -DRCU_MB must be defined -URCU_MB=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) -# URCU_SIGNAL uses urcu.c but -DRCU_SIGNAL must be defined -URCU_SIGNAL=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) -URCU_BP=$(top_srcdir)/urcu-bp.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) -URCU_DEFER=$(top_srcdir)/urcu.c $(top_srcdir)/urcu-pointer.c $(top_srcdir)/wfcqueue.c $(COMPAT) - -URCU_COMMON_LIB=$(top_builddir)/liburcu-common.la -URCU_LIB=$(top_builddir)/liburcu.la -URCU_QSBR_LIB=$(top_builddir)/liburcu-qsbr.la -URCU_MB_LIB=$(top_builddir)/liburcu-mb.la -URCU_SIGNAL_LIB=$(top_builddir)/liburcu-signal.la -URCU_BP_LIB=$(top_builddir)/liburcu-bp.la -URCU_CDS_LIB=$(top_builddir)/liburcu-cds.la - -test_urcu_fork_SOURCES = test_urcu_fork.c $(URCU) +URCU_COMMON_LIB=$(top_builddir)/src/liburcu-common.la +URCU_LIB=$(top_builddir)/src/liburcu.la +URCU_QSBR_LIB=$(top_builddir)/src/liburcu-qsbr.la +URCU_MB_LIB=$(top_builddir)/src/liburcu-mb.la +URCU_SIGNAL_LIB=$(top_builddir)/src/liburcu-signal.la +URCU_BP_LIB=$(top_builddir)/src/liburcu-bp.la +URCU_CDS_LIB=$(top_builddir)/src/liburcu-cds.la +TAP_LIB=$(top_builddir)/tests/utils/libtap.a + +test_urcu_fork_SOURCES = test_urcu_fork.c +test_urcu_fork_LDADD = $(URCU_LIB) $(TAP_LIB) rcutorture_urcu_SOURCES = urcutorture.c rcutorture_urcu_CFLAGS = -DRCU_MEMBARRIER $(AM_CFLAGS) -rcutorture_urcu_LDADD = $(URCU) +rcutorture_urcu_LDADD = $(URCU_LIB) $(TAP_LIB) rcutorture_urcu_mb_SOURCES = urcutorture.c rcutorture_urcu_mb_CFLAGS = -DRCU_MB $(AM_CFLAGS) -rcutorture_urcu_mb_LDADD = $(URCU_MB_LIB) +rcutorture_urcu_mb_LDADD = $(URCU_MB_LIB) $(TAP_LIB) rcutorture_urcu_qsbr_SOURCES = urcutorture.c rcutorture_urcu_qsbr_CFLAGS = -DTORTURE_QSBR -DRCU_QSBR $(AM_CFLAGS) -rcutorture_urcu_qsbr_LDADD = $(URCU_QSBR_LIB) +rcutorture_urcu_qsbr_LDADD = $(URCU_QSBR_LIB) $(TAP_LIB) rcutorture_urcu_signal_SOURCES = urcutorture.c rcutorture_urcu_signal_CFLAGS = -DRCU_SIGNAL $(AM_CFLAGS) -rcutorture_urcu_signal_LDADD = $(URCU_SIGNAL_LIB) +rcutorture_urcu_signal_LDADD = $(URCU_SIGNAL_LIB) $(TAP_LIB) rcutorture_urcu_bp_SOURCES = urcutorture.c rcutorture_urcu_bp_CFLAGS = -DRCU_BP $(AM_CFLAGS) -rcutorture_urcu_bp_LDADD = $(URCU_BP_LIB) +rcutorture_urcu_bp_LDADD = $(URCU_BP_LIB) $(TAP_LIB) urcutorture.c: ../common/api.h +all-local: + @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ + for script in $(SCRIPT_LIST); do \ + cp -f $(srcdir)/$$script $(builddir); \ + done; \ + fi + +clean-local: + @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ + for script in $(SCRIPT_LIST); do \ + rm -f $(builddir)/$$script; \ + done; \ + fi + .PHONY: regtest -# For now, run the benchmarks too as regression tests. -# TODO: split benchmarks from regression tests regtest: - ./test_urcu_fork - ./rcutorture_urcu - ./rcutorture_urcu_signal - ./rcutorture_urcu_mb - ./rcutorture_urcu_bp - ./rcutorture_urcu_qsbr - cd ../benchmark && ./runall.sh && cd .. + ./run.sh regression_tests