| 1 | if !LIBC_INCLUDES_PTHREAD |
| 2 | AM_LDFLAGS=-lpthread |
| 3 | endif |
| 4 | AM_CFLAGS=-I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/tests/common -g |
| 5 | |
| 6 | noinst_PROGRAMS = test_urcu_fork \ |
| 7 | rcutorture_urcu \ |
| 8 | rcutorture_urcu_signal \ |
| 9 | rcutorture_urcu_mb \ |
| 10 | rcutorture_urcu_bp \ |
| 11 | rcutorture_urcu_qsbr |
| 12 | |
| 13 | noinst_HEADERS = rcutorture.h |
| 14 | |
| 15 | URCU_COMMON_LIB=$(top_builddir)/liburcu-common.la |
| 16 | URCU_LIB=$(top_builddir)/liburcu.la |
| 17 | URCU_QSBR_LIB=$(top_builddir)/liburcu-qsbr.la |
| 18 | URCU_MB_LIB=$(top_builddir)/liburcu-mb.la |
| 19 | URCU_SIGNAL_LIB=$(top_builddir)/liburcu-signal.la |
| 20 | URCU_BP_LIB=$(top_builddir)/liburcu-bp.la |
| 21 | URCU_CDS_LIB=$(top_builddir)/liburcu-cds.la |
| 22 | |
| 23 | test_urcu_fork_SOURCES = test_urcu_fork.c |
| 24 | test_urcu_fork_LDADD = $(URCU_LIB) |
| 25 | |
| 26 | rcutorture_urcu_SOURCES = urcutorture.c |
| 27 | rcutorture_urcu_CFLAGS = -DRCU_MEMBARRIER $(AM_CFLAGS) |
| 28 | rcutorture_urcu_LDADD = $(URCU_LIB) |
| 29 | |
| 30 | rcutorture_urcu_mb_SOURCES = urcutorture.c |
| 31 | rcutorture_urcu_mb_CFLAGS = -DRCU_MB $(AM_CFLAGS) |
| 32 | rcutorture_urcu_mb_LDADD = $(URCU_MB_LIB) |
| 33 | |
| 34 | rcutorture_urcu_qsbr_SOURCES = urcutorture.c |
| 35 | rcutorture_urcu_qsbr_CFLAGS = -DTORTURE_QSBR -DRCU_QSBR $(AM_CFLAGS) |
| 36 | rcutorture_urcu_qsbr_LDADD = $(URCU_QSBR_LIB) |
| 37 | |
| 38 | rcutorture_urcu_signal_SOURCES = urcutorture.c |
| 39 | rcutorture_urcu_signal_CFLAGS = -DRCU_SIGNAL $(AM_CFLAGS) |
| 40 | rcutorture_urcu_signal_LDADD = $(URCU_SIGNAL_LIB) |
| 41 | |
| 42 | rcutorture_urcu_bp_SOURCES = urcutorture.c |
| 43 | rcutorture_urcu_bp_CFLAGS = -DRCU_BP $(AM_CFLAGS) |
| 44 | rcutorture_urcu_bp_LDADD = $(URCU_BP_LIB) |
| 45 | |
| 46 | urcutorture.c: ../common/api.h |
| 47 | |
| 48 | .PHONY: regtest |
| 49 | |
| 50 | # For now, run the benchmarks too as regression tests. |
| 51 | # TODO: split benchmarks from regression tests |
| 52 | regtest: |
| 53 | ./test_urcu_fork |
| 54 | ./rcutorture_urcu |
| 55 | ./rcutorture_urcu_signal |
| 56 | ./rcutorture_urcu_mb |
| 57 | ./rcutorture_urcu_bp |
| 58 | ./rcutorture_urcu_qsbr |
| 59 | cd ../benchmark && ./runall.sh && cd .. |