1aclocaldir = $(datadir)/aclocal
2
3if BUILD_DOCS
4DOCS = doc
5endif
6
7SUBDIRS = \
8	. \
9	src \
10	$(DOCS)
11
12ACLOCAL_AMFLAGS = -I m4
13
14EXTRA_DIST = \
15	tests \
16	examples \
17	COPYING.LGPL \
18	ChangeLog \
19	update-version.sh
20
21dist-hook:
22	rm -rf `find $(distdir)/tests -type f -name '*.svbin'`
23
24pkginc_libdir=$(dovecot_pkgincludedir)/sieve
25dist_pkginc_lib_HEADERS = \
26    pigeonhole-version.h
27nodist_pkginc_lib_HEADERS = \
28	pigeonhole-config.h
29
30ChangeLog:
31	git log --name-status \
32		--pretty="format:%ai %aN <%aE> (%h)%n%n%w(80,4,4)%s%n%n%b" > ChangeLog \
33			|| rm -f ChangeLog
34
35dist_aclocal_DATA = dovecot-pigeonhole.m4
36
37pigeonhole-version.h: noop
38	$(SHELL) $(top_srcdir)/update-version.sh $(top_srcdir) $(top_builddir)
39
40noop:
41
42DISTCLEANFILES = \
43    $(top_builddir)/pigeonhole-version.h \
44	$(top_builddir)/run-test.sh
45
46# Testsuite tests (FIXME: ugly)
47
48TESTSUITE_BIN = $(top_builddir)/src/testsuite/testsuite $(TESTSUITE_OPTIONS)
49
50TEST_BIN = $(RUN_TEST) $(TESTSUITE_BIN)
51
52if BUILD_UNFINISHED
53test_unfinished =
54else
55test_unfinished =
56endif
57
58test_cases = \
59	tests/testsuite.svtest \
60	tests/control-if.svtest \
61	tests/control-stop.svtest \
62	tests/test-allof.svtest \
63	tests/test-anyof.svtest \
64	tests/test-exists.svtest \
65	tests/test-header.svtest \
66	tests/test-address.svtest \
67	tests/test-size.svtest \
68	tests/compile/compile.svtest \
69	tests/compile/errors.svtest \
70	tests/compile/warnings.svtest \
71	tests/compile/recover.svtest \
72	tests/execute/errors.svtest \
73	tests/execute/errors-cpu-limit.svtest \
74	tests/execute/actions.svtest \
75	tests/execute/smtp.svtest \
76	tests/execute/mailstore.svtest \
77	tests/execute/address-normalize.svtest \
78	tests/execute/examples.svtest \
79	tests/lexer.svtest \
80	tests/comparators/i-octet.svtest \
81	tests/comparators/i-ascii-casemap.svtest \
82	tests/match-types/is.svtest \
83	tests/match-types/contains.svtest \
84	tests/match-types/matches.svtest \
85	tests/multiscript/basic.svtest \
86	tests/multiscript/conflicts.svtest \
87	tests/extensions/encoded-character.svtest \
88	tests/extensions/envelope.svtest \
89	tests/extensions/variables/basic.svtest \
90	tests/extensions/variables/match.svtest \
91	tests/extensions/variables/modifiers.svtest \
92	tests/extensions/variables/quoting.svtest \
93	tests/extensions/variables/string.svtest \
94	tests/extensions/variables/errors.svtest \
95	tests/extensions/variables/regex.svtest \
96	tests/extensions/include/errors.svtest \
97	tests/extensions/include/variables.svtest \
98	tests/extensions/include/once.svtest \
99	tests/extensions/include/twice.svtest \
100	tests/extensions/include/optional.svtest \
101	tests/extensions/include/rfc.svtest \
102	tests/extensions/include/execute.svtest \
103	tests/extensions/imap4flags/basic.svtest \
104	tests/extensions/imap4flags/hasflag.svtest \
105	tests/extensions/imap4flags/execute.svtest \
106	tests/extensions/imap4flags/multiscript.svtest \
107	tests/extensions/imap4flags/flagstring.svtest \
108	tests/extensions/imap4flags/flagstore.svtest \
109	tests/extensions/body/basic.svtest \
110	tests/extensions/body/errors.svtest \
111	tests/extensions/body/raw.svtest \
112	tests/extensions/body/content.svtest \
113	tests/extensions/body/text.svtest \
114	tests/extensions/body/match-values.svtest \
115	tests/extensions/regex/basic.svtest \
116	tests/extensions/regex/match-values.svtest \
117	tests/extensions/regex/errors.svtest \
118	tests/extensions/reject/execute.svtest \
119	tests/extensions/reject/smtp.svtest \
120	tests/extensions/relational/basic.svtest \
121	tests/extensions/relational/rfc.svtest \
122	tests/extensions/relational/errors.svtest \
123	tests/extensions/relational/comparators.svtest \
124	tests/extensions/subaddress/basic.svtest \
125	tests/extensions/subaddress/rfc.svtest \
126	tests/extensions/subaddress/config.svtest \
127	tests/extensions/vacation/errors.svtest \
128	tests/extensions/vacation/execute.svtest \
129	tests/extensions/vacation/message.svtest \
130	tests/extensions/vacation/smtp.svtest \
131	tests/extensions/vacation/utf-8.svtest \
132	tests/extensions/vacation/reply.svtest \
133	tests/extensions/enotify/basic.svtest \
134	tests/extensions/enotify/encodeurl.svtest \
135	tests/extensions/enotify/valid_notify_method.svtest \
136	tests/extensions/enotify/notify_method_capability.svtest \
137	tests/extensions/enotify/errors.svtest \
138	tests/extensions/enotify/execute.svtest \
139	tests/extensions/enotify/mailto.svtest \
140	tests/extensions/environment/basic.svtest \
141	tests/extensions/environment/rfc.svtest \
142	tests/extensions/mailbox/errors.svtest \
143	tests/extensions/mailbox/execute.svtest \
144	tests/extensions/date/basic.svtest \
145	tests/extensions/date/date-parts.svtest \
146	tests/extensions/date/zones.svtest \
147	tests/extensions/index/basic.svtest \
148	tests/extensions/index/errors.svtest \
149	tests/extensions/spamvirustest/spamtest.svtest \
150	tests/extensions/spamvirustest/virustest.svtest \
151	tests/extensions/spamvirustest/spamtestplus.svtest \
152	tests/extensions/spamvirustest/errors.svtest \
153	tests/extensions/ihave/execute.svtest \
154	tests/extensions/ihave/errors.svtest \
155	tests/extensions/ihave/restrictions.svtest \
156	tests/extensions/editheader/addheader.svtest \
157	tests/extensions/editheader/deleteheader.svtest \
158	tests/extensions/editheader/alternating.svtest \
159	tests/extensions/editheader/utf8.svtest \
160	tests/extensions/editheader/protected.svtest \
161	tests/extensions/editheader/errors.svtest \
162	tests/extensions/editheader/execute.svtest \
163	tests/extensions/duplicate/errors.svtest \
164	tests/extensions/duplicate/execute.svtest \
165	tests/extensions/duplicate/execute-vnd.svtest \
166	tests/extensions/metadata/execute.svtest \
167	tests/extensions/metadata/errors.svtest \
168	tests/extensions/mime/errors.svtest \
169	tests/extensions/mime/header.svtest \
170	tests/extensions/mime/exists.svtest \
171	tests/extensions/mime/address.svtest \
172	tests/extensions/mime/execute.svtest \
173	tests/extensions/mime/content-header.svtest \
174	tests/extensions/mime/foreverypart.svtest \
175	tests/extensions/mime/extracttext.svtest \
176	tests/extensions/mime/calendar-example.svtest \
177	tests/extensions/special-use/errors.svtest \
178	tests/extensions/special-use/execute.svtest \
179	tests/extensions/vnd.dovecot/debug/execute.svtest \
180	tests/extensions/vnd.dovecot/environment/basic.svtest \
181	tests/extensions/vnd.dovecot/environment/variables.svtest \
182	tests/extensions/vnd.dovecot/report/errors.svtest \
183	tests/extensions/vnd.dovecot/report/execute.svtest \
184	tests/deprecated/notify/basic.svtest \
185	tests/deprecated/notify/mailto.svtest \
186	tests/deprecated/notify/errors.svtest \
187	tests/deprecated/notify/execute.svtest \
188	tests/deprecated/notify/denotify.svtest \
189	tests/deprecated/imapflags/execute.svtest \
190	tests/deprecated/imapflags/errors.svtest \
191	$(test_unfinished)
192
193$(test_cases):
194	@$(TEST_BIN) $(top_srcdir)/$@
195
196failure_test_cases = \
197	tests/failures/fuzz1.svtest \
198	tests/failures/fuzz2.svtest \
199	tests/failures/fuzz3.svtest \
200	tests/failures/mailbox-bad-utf8.svtest
201
202$(failure_test_cases):
203	@$(TEST_BIN) -F $(top_srcdir)/$@
204
205TEST_EXTPROGRAMS_BIN = NOCHILDREN=yes $(TEST_BIN) \
206	-P src/plugins/sieve-extprograms/.libs/sieve_extprograms
207
208extprograms_test_cases = \
209	tests/plugins/extprograms/errors.svtest \
210	tests/plugins/extprograms/pipe/command.svtest \
211	tests/plugins/extprograms/pipe/errors.svtest \
212	tests/plugins/extprograms/pipe/execute.svtest \
213	tests/plugins/extprograms/filter/command.svtest \
214	tests/plugins/extprograms/filter/errors.svtest \
215	tests/plugins/extprograms/filter/execute.svtest \
216	tests/plugins/extprograms/execute/command.svtest \
217	tests/plugins/extprograms/execute/errors.svtest \
218	tests/plugins/extprograms/execute/execute.svtest
219
220$(extprograms_test_cases):
221	@$(TEST_EXTPROGRAMS_BIN) 	$(top_srcdir)/$@
222
223.PHONY: test test-plugins $(test_cases) $(failure_test_cases) $(extprograms_test_cases)
224test: all-am $(test_cases) $(failure_test_cases)
225test-plugins: all-am $(extprograms_test_cases)
226
227check: check-am test
228