1 # This file is part of the NoBug debugging library.
3 # Copyright (C) 2007, Christian Thaeter <chth@gmx.net>
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License version 2 as
7 # published by the Free Software Foundation.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, contact me.
17 include_HEADERS = src/nobug.h
19 ##### single-threading variant
21 lib_LIBRARIES = libnobug.a
22 libnobug_a_SOURCES = src/nobug.c src/nobug_env.c src/nobug_ringbuffer.c src/nobug_resources.c
23 libnobug_a_CPPFLAGS = -DNOBUG_USE_PTHREAD=0
25 bin_PROGRAMS = nobug_rbdump
26 nobug_rbdump_SOURCES = src/nobug_rbdump.c
27 nobug_rbdump_LDADD = libnobug.a
29 check_PROGRAMS = example example_alpha example_beta
30 example_SOURCES = tests/example.c
31 example_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DNDEBUG
32 example_LDADD = libnobug.a
33 example_alpha_SOURCES = tests/example.c
34 example_alpha_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DEBUG_ALPHA
35 example_alpha_LDADD = libnobug.a
36 example_beta_SOURCES = tests/example.c
37 example_beta_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DEBUG_BETA
38 example_beta_LDADD = libnobug.a
40 check_PROGRAMS += test_nobug_alpha
41 test_nobug_alpha_SOURCES = tests/test_nobug.c
42 test_nobug_alpha_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DEBUG_ALPHA
43 test_nobug_alpha_LDADD = libnobug.a
45 check_PROGRAMS += test_nobug_resources test_nobug_resources_alpha test_nobug_resources_beta
46 test_nobug_resources_SOURCES = tests/test_nobug_resources.c
47 test_nobug_resources_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DNDEBUG
48 test_nobug_resources_LDADD = libnobug.a
49 test_nobug_resources_alpha_SOURCES = tests/test_nobug_resources.c
50 test_nobug_resources_alpha_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DEBUG_ALPHA
51 test_nobug_resources_alpha_LDADD = libnobug.a
52 test_nobug_resources_beta_SOURCES = tests/test_nobug_resources.c
53 test_nobug_resources_beta_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DEBUG_BETA
54 test_nobug_resources_beta_LDADD = libnobug.a
56 check_PROGRAMS += test_nobug_thread test_nobug_thread_alpha test_nobug_thread_beta
57 test_nobug_thread_SOURCES = tests/test_nobug_thread.c
58 test_nobug_thread_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DNDEBUG
59 test_nobug_thread_LDADD = libnobug.a
60 test_nobug_thread_alpha_SOURCES = tests/test_nobug_thread.c
61 test_nobug_thread_alpha_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DEBUG_ALPHA
62 test_nobug_thread_alpha_LDADD = libnobug.a
63 test_nobug_thread_beta_SOURCES = tests/test_nobug_thread.c
64 test_nobug_thread_beta_CPPFLAGS = -DNOBUG_USE_PTHREAD=0 -DEBUG_BETA
65 test_nobug_thread_beta_LDADD = libnobug.a
67 ##### multi-threading variant
71 lib_LIBRARIES += libnobugmt.a
72 libnobugmt_a_SOURCES = src/nobug.c src/nobug_env.c src/nobug_ringbuffer.c src/nobug_resources.c src/nobug_thread.c
73 libnobugmt_a_CFLAGS = @PTHREAD_CFLAGS@
75 check_PROGRAMS += example_mt example_mt_alpha example_mt_beta
76 example_mt_SOURCES = tests/example.c
77 example_mt_CPPFLAGS = -DNDEBUG
78 example_mt_CFLAGS = @PTHREAD_CFLAGS@
79 example_mt_LDADD = @PTHREAD_LIBS@ libnobugmt.a
80 example_mt_alpha_SOURCES = tests/example.c
81 example_mt_alpha_CPPFLAGS = -DEBUG_ALPHA
82 example_mt_alpha_CFLAGS = @PTHREAD_CFLAGS@
83 example_mt_alpha_LDADD = @PTHREAD_LIBS@ libnobugmt.a
84 example_mt_beta_SOURCES = tests/example.c
85 example_mt_beta_CPPFLAGS = -DEBUG_BETA
86 example_mt_beta_CFLAGS = @PTHREAD_CFLAGS@
87 example_mt_beta_LDADD = @PTHREAD_LIBS@ libnobugmt.a
89 check_PROGRAMS += test_nobug_mt_alpha
90 test_nobug_mt_alpha_SOURCES = tests/test_nobug.c
91 test_nobug_mt_alpha_CPPFLAGS = -DEBUG_ALPHA
92 test_nobug_mt_alpha_CFLAGS = @PTHREAD_CFLAGS@
93 test_nobug_mt_alpha_LDADD = @PTHREAD_LIBS@ libnobugmt.a
95 check_PROGRAMS += test_nobug_deadlock_mt test_nobug_deadlock_mt_alpha test_nobug_deadlock_mt_beta
96 test_nobug_deadlock_mt_SOURCES = tests/test_nobug_deadlock.c
97 test_nobug_deadlock_mt_CPPFLAGS = -DNDEBUG
98 test_nobug_deadlock_mt_CFLAGS = @PTHREAD_CFLAGS@
99 test_nobug_deadlock_mt_LDADD = @PTHREAD_LIBS@ libnobugmt.a
100 test_nobug_deadlock_mt_alpha_SOURCES = tests/test_nobug_deadlock.c
101 test_nobug_deadlock_mt_alpha_CPPFLAGS = -DEBUG_ALPHA
102 test_nobug_deadlock_mt_alpha_CFLAGS = @PTHREAD_CFLAGS@
103 test_nobug_deadlock_mt_alpha_LDADD = @PTHREAD_LIBS@ libnobugmt.a
104 test_nobug_deadlock_mt_beta_SOURCES = tests/test_nobug_deadlock.c
105 test_nobug_deadlock_mt_beta_CPPFLAGS = -DEBUG_BETA
106 test_nobug_deadlock_mt_beta_CFLAGS = @PTHREAD_CFLAGS@
107 test_nobug_deadlock_mt_beta_LDADD = @PTHREAD_LIBS@ libnobugmt.a
109 check_PROGRAMS += test_nobug_resources_mt test_nobug_resources_mt_alpha test_nobug_resources_mt_beta
110 test_nobug_resources_mt_SOURCES = tests/test_nobug_resources.c
111 test_nobug_resources_mt_CPPFLAGS = -DNDEBUG
112 test_nobug_resources_mt_CFLAGS = @PTHREAD_CFLAGS@
113 test_nobug_resources_mt_LDADD = @PTHREAD_LIBS@ libnobugmt.a
114 test_nobug_resources_mt_alpha_SOURCES = tests/test_nobug_resources.c
115 test_nobug_resources_mt_alpha_CPPFLAGS = -DEBUG_ALPHA
116 test_nobug_resources_mt_alpha_CFLAGS = @PTHREAD_CFLAGS@
117 test_nobug_resources_mt_alpha_LDADD = @PTHREAD_LIBS@ libnobugmt.a
118 test_nobug_resources_mt_beta_SOURCES = tests/test_nobug_resources.c
119 test_nobug_resources_mt_beta_CPPFLAGS = -DEBUG_BETA
120 test_nobug_resources_mt_beta_CFLAGS = @PTHREAD_CFLAGS@
121 test_nobug_resources_mt_beta_LDADD = @PTHREAD_LIBS@ libnobugmt.a
123 check_PROGRAMS += test_nobug_thread_mt test_nobug_thread_mt_alpha test_nobug_thread_mt_beta
124 test_nobug_thread_mt_SOURCES = tests/test_nobug_thread.c
125 test_nobug_thread_mt_CPPFLAGS = -DNDEBUG
126 test_nobug_thread_mt_CFLAGS = @PTHREAD_CFLAGS@
127 test_nobug_thread_mt_LDADD = @PTHREAD_LIBS@ libnobugmt.a
128 test_nobug_thread_mt_alpha_SOURCES = tests/test_nobug_thread.c
129 test_nobug_thread_mt_alpha_CPPFLAGS = -DEBUG_ALPHA
130 test_nobug_thread_mt_alpha_CFLAGS = @PTHREAD_CFLAGS@
131 test_nobug_thread_mt_alpha_LDADD = @PTHREAD_LIBS@ libnobugmt.a
132 test_nobug_thread_mt_beta_SOURCES = tests/test_nobug_thread.c
133 test_nobug_thread_mt_beta_CPPFLAGS = -DEBUG_BETA
134 test_nobug_thread_mt_beta_CFLAGS = @PTHREAD_CFLAGS@
135 test_nobug_thread_mt_beta_LDADD = @PTHREAD_LIBS@ libnobugmt.a
137 endif # HAVE_THREADING
139 ##### maintainer targets
141 TESTS = $(check_PROGRAMS)
144 w3m -no-cookie -dump 'http://www.pipapo.org/pipawiki/NoBug/Documentation?action=print' |\
145 (read; read; cat) > $(top_srcdir)/README
146 w3m -no-cookie -dump 'http://www.pipapo.org/pipawiki/NoBug/Authors?action=print' |\
147 (read; read; cat) > $(top_srcdir)/AUTHORS
148 w3m -no-cookie -dump 'http://www.pipapo.org/pipawiki/NoBug/News?action=print' |\
149 (read; read; cat) > $(top_srcdir)/NEWS
152 git whatchanged --max-count=100 | sed -e 's/:.*\.\.\.//' > $(top_srcdir)/ChangeLog
155 list='$(DIST_ARCHIVES)'; for i in $$list; do \