1## Process this file with automake to produce Makefile.in.
2
3ACLOCAL_AMFLAGS = -I m4
4
5dist_doc_DATA = \
6  doc/pcre.txt \
7  doc/pcre-config.txt \
8  doc/pcregrep.txt \
9  doc/pcretest.txt \
10  AUTHORS \
11  COPYING \
12  ChangeLog \
13  LICENCE \
14  NEWS \
15  README
16
17dist_html_DATA = \
18  doc/html/index.html \
19  doc/html/pcre.html \
20  doc/html/pcre-config.html \
21  doc/html/pcre_compile.html \
22  doc/html/pcre_compile2.html \
23  doc/html/pcre_config.html \
24  doc/html/pcre_copy_named_substring.html \
25  doc/html/pcre_copy_substring.html \
26  doc/html/pcre_dfa_exec.html \
27  doc/html/pcre_exec.html \
28  doc/html/pcre_free_substring.html \
29  doc/html/pcre_free_substring_list.html \
30  doc/html/pcre_fullinfo.html \
31  doc/html/pcre_get_named_substring.html \
32  doc/html/pcre_get_stringnumber.html \
33  doc/html/pcre_get_stringtable_entries.html \
34  doc/html/pcre_get_substring.html \
35  doc/html/pcre_get_substring_list.html \
36  doc/html/pcre_info.html \
37  doc/html/pcre_maketables.html \
38  doc/html/pcre_refcount.html \
39  doc/html/pcre_study.html \
40  doc/html/pcre_version.html \
41  doc/html/pcreapi.html \
42  doc/html/pcrebuild.html \
43  doc/html/pcrecallout.html \
44  doc/html/pcrecompat.html \
45  doc/html/pcredemo.html \
46  doc/html/pcregrep.html \
47  doc/html/pcrematching.html \
48  doc/html/pcrepartial.html \
49  doc/html/pcrepattern.html \
50  doc/html/pcreperform.html \
51  doc/html/pcreposix.html \
52  doc/html/pcreprecompile.html \
53  doc/html/pcresample.html \
54  doc/html/pcrestack.html \
55  doc/html/pcresyntax.html \
56  doc/html/pcretest.html
57
58pcrecpp_html = doc/html/pcrecpp.html
59dist_noinst_DATA = $(pcrecpp_html)
60
61if WITH_PCRE_CPP
62html_DATA = $(pcrecpp_html)
63endif
64
65# The Libtool libraries to install.  We'll add to this later.
66lib_LTLIBRARIES =
67
68# Unit tests you want to run when people type 'make check'.
69# TESTS is for binary unit tests, check_SCRIPTS for script-based tests
70TESTS =
71check_SCRIPTS =
72dist_noinst_SCRIPTS =
73
74# Some of the binaries we make are to be installed, and others are
75# (non-user-visible) helper programs needed to build libpcre.
76bin_PROGRAMS =
77noinst_PROGRAMS =
78
79# Additional files to delete on 'make clean' and 'make maintainer-clean'.
80CLEANFILES =
81MAINTAINERCLEANFILES =
82
83# Additional files to bundle with the distribution, over and above what
84# the Autotools include by default.
85EXTRA_DIST =
86
87# These files contain maintenance information
88EXTRA_DIST += \
89  doc/perltest.txt \
90  NON-UNIX-USE \
91  HACKING
92
93# These files are used in the preparation of a release
94EXTRA_DIST += \
95  PrepareRelease \
96  CleanTxt \
97  Detrail \
98  132html \
99  doc/index.html.src
100
101# These files are to do with building for Virtual Pascal
102EXTRA_DIST += \
103  makevp.bat \
104  makevp_c.txt \
105  makevp_l.txt \
106  pcregexp.pas
107
108# These files are usable versions of pcre.h and config.h that are distributed
109# for the benefit of people who are building PCRE manually, without the
110# Autotools support.
111EXTRA_DIST += \
112  pcre.h.generic \
113  config.h.generic
114
115pcre.h.generic: configure.ac
116	rm -f $@
117	cp -p pcre.h $@
118
119MAINTAINERCLEANFILES += pcre.h.generic
120
121# These are the header files we'll install. We do not distribute pcre.h because
122# it is generated from pcre.h.in.
123nodist_include_HEADERS = \
124  pcre.h
125include_HEADERS = \
126  pcreposix.h
127
128# These additional headers will be be installed if C++ support is enabled. We
129# do not distribute pcrecpparg.h or pcre_stringpiece.h, as these are generated
130# from corresponding .h.in files (which we do distribute).
131if WITH_PCRE_CPP
132nodist_include_HEADERS += \
133  pcrecpparg.h \
134  pcre_stringpiece.h
135include_HEADERS += \
136  pcrecpp.h \
137  pcre_scanner.h
138endif # WITH_PCRE_CPP
139
140bin_SCRIPTS = pcre-config
141
142## ---------------------------------------------------------------
143## The dftables program is used to rebuild character tables before compiling
144## PCRE, if --enable-rebuild-chartables is specified. It is not a user-visible
145## program. The default (when --enable-rebuild-chartables is not specified) is
146## to copy a distributed set of tables that are defined for ASCII code. In this
147## case, dftables is not needed.
148
149if WITH_REBUILD_CHARTABLES
150
151noinst_PROGRAMS += dftables
152dftables_SOURCES = dftables.c
153
154pcre_chartables.c: dftables$(EXEEXT)
155	./dftables$(EXEEXT) $@
156else
157
158pcre_chartables.c: $(srcdir)/pcre_chartables.c.dist
159	rm -f $@
160	$(LN_S) $(srcdir)/pcre_chartables.c.dist $@
161
162endif # WITH_REBUILD_CHARTABLES
163
164
165## The main pcre library
166lib_LTLIBRARIES += libpcre.la
167libpcre_la_SOURCES = \
168  pcre_compile.c \
169  pcre_config.c \
170  pcre_dfa_exec.c \
171  pcre_exec.c \
172  pcre_fullinfo.c \
173  pcre_get.c \
174  pcre_globals.c \
175  pcre_info.c \
176  pcre_internal.h \
177  pcre_maketables.c \
178  pcre_newline.c \
179  pcre_ord2utf8.c \
180  pcre_refcount.c \
181  pcre_study.c \
182  pcre_tables.c \
183  pcre_try_flipped.c \
184  pcre_ucd.c \
185  pcre_valid_utf8.c \
186  pcre_version.c \
187  pcre_xclass.c \
188  ucp.h
189
190## This file is generated as part of the building process, so don't distribute.
191nodist_libpcre_la_SOURCES = \
192  pcre_chartables.c
193
194# The pcre_printint.src file is #included by some source files, so it must be
195# distributed. The pcre_chartables.c.dist file is the default version of
196# pcre_chartables.c, used unless --enable-rebuild-chartables is specified.
197EXTRA_DIST += pcre_printint.src pcre_chartables.c.dist
198
199libpcre_la_LDFLAGS = $(EXTRA_LIBPCRE_LDFLAGS)
200
201CLEANFILES += pcre_chartables.c
202
203## A version of the main pcre library that has a posix re API.
204lib_LTLIBRARIES += libpcreposix.la
205libpcreposix_la_SOURCES = \
206  pcreposix.c
207libpcreposix_la_LDFLAGS = $(EXTRA_LIBPCREPOSIX_LDFLAGS)
208libpcreposix_la_LIBADD = libpcre.la
209
210## There's a C++ library as well.
211if WITH_PCRE_CPP
212
213lib_LTLIBRARIES += libpcrecpp.la
214libpcrecpp_la_SOURCES = \
215  pcrecpp_internal.h \
216  pcrecpp.cc \
217  pcre_scanner.cc \
218  pcre_stringpiece.cc
219libpcrecpp_la_LDFLAGS = $(EXTRA_LIBPCRECPP_LDFLAGS)
220libpcrecpp_la_LIBADD = libpcre.la
221
222TESTS += pcrecpp_unittest
223noinst_PROGRAMS += pcrecpp_unittest
224pcrecpp_unittest_SOURCES = pcrecpp_unittest.cc
225pcrecpp_unittest_LDADD = libpcrecpp.la
226
227TESTS += pcre_scanner_unittest
228noinst_PROGRAMS += pcre_scanner_unittest
229pcre_scanner_unittest_SOURCES = pcre_scanner_unittest.cc
230pcre_scanner_unittest_LDADD = libpcrecpp.la
231
232TESTS += pcre_stringpiece_unittest
233noinst_PROGRAMS += pcre_stringpiece_unittest
234pcre_stringpiece_unittest_SOURCES = pcre_stringpiece_unittest.cc
235pcre_stringpiece_unittest_LDADD = libpcrecpp.la
236
237endif # WITH_PCRE_CPP
238
239## The main unit tests
240
241# Each unit test is a binary plus a script that runs that binary in various
242# ways. We install these test binaries in case folks find it helpful.
243
244TESTS += RunTest
245dist_noinst_SCRIPTS += RunTest
246EXTRA_DIST += RunTest.bat
247bin_PROGRAMS += pcretest
248pcretest_SOURCES = pcretest.c
249pcretest_LDADD = libpcreposix.la $(LIBREADLINE)
250
251TESTS += RunGrepTest
252dist_noinst_SCRIPTS += RunGrepTest
253bin_PROGRAMS += pcregrep
254pcregrep_SOURCES = pcregrep.c
255pcregrep_LDADD = libpcreposix.la $(LIBZ) $(LIBBZ2)
256
257EXTRA_DIST += \
258  testdata/grepinput \
259  testdata/grepinput8 \
260  testdata/grepinputv \
261  testdata/grepinputx \
262  testdata/greplist \
263  testdata/grepoutput \
264  testdata/grepoutput8 \
265  testdata/grepoutputN \
266  testdata/testinput1 \
267  testdata/testinput2 \
268  testdata/testinput3 \
269  testdata/testinput4 \
270  testdata/testinput5 \
271  testdata/testinput6 \
272  testdata/testinput7 \
273  testdata/testinput8 \
274  testdata/testinput9 \
275  testdata/testinput10 \
276  testdata/testinput11 \
277  testdata/testinput12 \
278  testdata/testoutput1 \
279  testdata/testoutput2 \
280  testdata/testoutput3 \
281  testdata/testoutput4 \
282  testdata/testoutput5 \
283  testdata/testoutput6 \
284  testdata/testoutput7 \
285  testdata/testoutput8 \
286  testdata/testoutput9 \
287  testdata/testoutput10 \
288  testdata/testoutput11 \
289  testdata/testoutput12 \
290  testdata/wintestinput3 \
291  testdata/wintestoutput3 \
292  perltest.pl
293
294CLEANFILES += \
295	testsavedregex \
296	teststderr \
297	testtry \
298        testNinput
299
300
301# PCRE demonstration program. No longer built automatcally. The point is that
302# the users should build it themselves. So just distribute the source.
303# noinst_PROGRAMS += pcredemo
304# pcredemo_SOURCES = pcredemo.c
305# pcredemo_LDADD = libpcre.la
306
307EXTRA_DIST += pcredemo.c
308
309
310## Utility rules, documentation, etc.
311
312# A compatibility line, the old build system worked with 'make test'
313test: check ;
314
315
316# A PCRE user submitted the following addition, saying that it "will allow
317# anyone using the 'mingw32' compiler to simply type 'make pcre.dll' and get a
318# nice DLL for Windows use". (It is used by the pcre.dll target.)
319DLL_OBJS= pcre_compile.o pcre_config.o \
320	pcre_dfa_exec.o pcre_exec.o pcre_fullinfo.o pcre_get.o \
321	pcre_globals.o pcre_info.o pcre_maketables.o \
322	pcre_newline.o pcre_ord2utf8.o pcre_refcount.o \
323	pcre_study.o pcre_tables.o pcre_try_flipped.o \
324	pcre_ucd.o pcre_valid_utf8.o pcre_version.o \
325	pcre_chartables.o \
326	pcre_xclass.o
327
328# A PCRE user submitted the following addition, saying that it "will allow
329# anyone using the 'mingw32' compiler to simply type 'make pcre.dll' and get a
330# nice DLL for Windows use".
331pcre.dll: $(DLL_OBJS)
332	$(CC) -shared -o pcre.dll -Wl,"--strip-all" -Wl,"--export-all-symbols" $(DLL_OBJS)
333
334
335# We have .pc files for pkg-config users.
336pkgconfigdir = $(libdir)/pkgconfig
337pkgconfig_DATA = libpcre.pc libpcreposix.pc
338if WITH_PCRE_CPP
339pkgconfig_DATA += libpcrecpp.pc
340endif
341
342dist_man_MANS = \
343  doc/pcre.3 \
344  doc/pcre-config.1 \
345  doc/pcre_compile.3 \
346  doc/pcre_compile2.3 \
347  doc/pcre_config.3 \
348  doc/pcre_copy_named_substring.3 \
349  doc/pcre_copy_substring.3 \
350  doc/pcre_dfa_exec.3 \
351  doc/pcre_exec.3 \
352  doc/pcre_free_substring.3 \
353  doc/pcre_free_substring_list.3 \
354  doc/pcre_fullinfo.3 \
355  doc/pcre_get_named_substring.3 \
356  doc/pcre_get_stringnumber.3 \
357  doc/pcre_get_stringtable_entries.3 \
358  doc/pcre_get_substring.3 \
359  doc/pcre_get_substring_list.3 \
360  doc/pcre_info.3 \
361  doc/pcre_maketables.3 \
362  doc/pcre_refcount.3 \
363  doc/pcre_study.3 \
364  doc/pcre_version.3 \
365  doc/pcreapi.3 \
366  doc/pcrebuild.3 \
367  doc/pcrecallout.3 \
368  doc/pcrecompat.3 \
369  doc/pcregrep.1 \
370  doc/pcrematching.3 \
371  doc/pcrepartial.3 \
372  doc/pcrepattern.3 \
373  doc/pcreperform.3 \
374  doc/pcreposix.3 \
375  doc/pcreprecompile.3 \
376  doc/pcresample.3 \
377  doc/pcrestack.3 \
378  doc/pcresyntax.3 \
379  doc/pcretest.1
380
381pcrecpp_man = doc/pcrecpp.3
382EXTRA_DIST += $(pcrecpp_man)
383
384if WITH_PCRE_CPP
385man_MANS = $(pcrecpp_man)
386endif
387
388## CMake support
389
390EXTRA_DIST += \
391  cmake/COPYING-CMAKE-SCRIPTS \
392  cmake/FindPackageHandleStandardArgs.cmake \
393  cmake/FindReadline.cmake \
394  CMakeLists.txt \
395  config-cmake.h.in
396
397## end Makefile.am
398