1# test/Makefile.am for libevent
2# Copyright 2000-2007 Niels Provos
3# Copyright 2007-2012 Niels Provos and Nick Mathewson
4#
5# See LICENSE for copying information.
6
7AUTOMAKE_OPTIONS = foreign
8
9AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/compat -I$(top_srcdir)/include -I../include -DTINYTEST_LOCAL
10
11EXTRA_DIST = regress.rpc regress.gen.h regress.gen.c rpcgen_wrapper.sh test.sh
12
13noinst_PROGRAMS = test-init test-eof test-weof test-time \
14	bench bench_cascade bench_http bench_httpclient test-ratelim \
15	test-changelist
16if BUILD_REGRESS
17noinst_PROGRAMS += regress
18endif
19EXTRA_PROGRAMS = regress
20noinst_HEADERS = tinytest.h tinytest_macros.h regress.h tinytest_local.h
21
22TESTS = $(top_srcdir)/test/test.sh
23
24BUILT_SOURCES =
25if BUILD_REGRESS
26BUILT_SOURCES += regress.gen.c regress.gen.h
27endif
28
29test_init_SOURCES = test-init.c
30test_init_LDADD = ../libevent_core.la
31test_eof_SOURCES = test-eof.c
32test_eof_LDADD = ../libevent_core.la
33test_changelist_SOURCES = test-changelist.c
34test_changelist_LDADD = ../libevent_core.la
35test_weof_SOURCES = test-weof.c
36test_weof_LDADD = ../libevent_core.la
37test_time_SOURCES = test-time.c
38test_time_LDADD = ../libevent_core.la
39test_ratelim_SOURCES = test-ratelim.c
40test_ratelim_LDADD = ../libevent_core.la -lm
41
42regress_SOURCES = regress.c regress_buffer.c regress_http.c regress_dns.c \
43	regress_testutils.c regress_testutils.h \
44	regress_rpc.c regress.gen.c regress.gen.h regress_et.c \
45	regress_bufferevent.c regress_listener.c \
46	regress_util.c tinytest.c regress_main.c regress_minheap.c \
47	$(regress_thread_SOURCES) $(regress_zlib_SOURCES)
48if PTHREADS
49regress_thread_SOURCES = regress_thread.c
50PTHREAD_LIBS += ../libevent_pthreads.la
51endif
52if BUILD_WIN32
53regress_thread_SOURCES = regress_thread.c
54endif
55if ZLIB_REGRESS
56regress_zlib_SOURCES = regress_zlib.c
57endif
58if BUILD_WIN32
59regress_SOURCES += regress_iocp.c
60endif
61
62regress_LDADD = $(LIBEVENT_GC_SECTIONS) ../libevent.la $(PTHREAD_LIBS) $(ZLIB_LIBS)
63regress_CPPFLAGS = $(AM_CPPFLAGS) $(PTHREAD_CFLAGS) $(ZLIB_CFLAGS)
64regress_LDFLAGS = $(PTHREAD_CFLAGS)
65
66if OPENSSL
67regress_SOURCES += regress_ssl.c
68regress_LDADD += ../libevent_openssl.la -lssl -lcrypto ${OPENSSL_LIBADD}
69endif
70
71bench_SOURCES = bench.c
72bench_LDADD = $(LIBEVENT_GC_SECTIONS) ../libevent.la
73bench_cascade_SOURCES = bench_cascade.c
74bench_cascade_LDADD = $(LIBEVENT_GC_SECTIONS) ../libevent.la
75bench_http_SOURCES = bench_http.c
76bench_http_LDADD = $(LIBEVENT_GC_SECTIONS) ../libevent.la
77bench_httpclient_SOURCES = bench_httpclient.c
78bench_httpclient_LDADD = $(LIBEVENT_GC_SECTIONS) ../libevent_core.la
79
80regress.gen.c regress.gen.h: rpcgen-attempted
81
82rpcgen-attempted: $(srcdir)/regress.rpc $(srcdir)/../event_rpcgen.py $(srcdir)/rpcgen_wrapper.sh
83	date -u > $@
84	if $(srcdir)/rpcgen_wrapper.sh $(srcdir); then \
85	   echo "rpcgen okay"; \
86	else \
87	   echo "No Python installed; stubbing out RPC test." >&2; \
88	   echo " "> regress.gen.c; \
89	   echo "#define NO_PYTHON_EXISTS" > regress.gen.h; \
90	fi
91
92CLEANFILES = rpcgen-attempted
93
94DISTCLEANFILES = *~
95
96verify: check
97
98bench test-init test-eof test-weof test-time test-changelist: ../libevent.la
99