Clean up spec file for packaging
[profile/ivi/pcre.git] / Makefile.am
1 ## Process this file with automake to produce Makefile.in.
2
3 ACLOCAL_AMFLAGS = -I m4
4
5 dist_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
17 dist_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
58 pcrecpp_html = doc/html/pcrecpp.html
59 dist_noinst_DATA = $(pcrecpp_html)
60
61 if WITH_PCRE_CPP
62 html_DATA = $(pcrecpp_html)
63 endif
64
65 # The Libtool libraries to install.  We'll add to this later.
66 lib_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
70 TESTS =
71 check_SCRIPTS =
72 dist_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.
76 bin_PROGRAMS =
77 noinst_PROGRAMS =
78
79 # Additional files to delete on 'make clean' and 'make maintainer-clean'.
80 CLEANFILES =
81 MAINTAINERCLEANFILES =
82
83 # Additional files to bundle with the distribution, over and above what
84 # the Autotools include by default.
85 EXTRA_DIST =
86
87 # These files contain maintenance information
88 EXTRA_DIST += \
89   doc/perltest.txt \
90   NON-UNIX-USE \
91   HACKING
92
93 # These files are used in the preparation of a release
94 EXTRA_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
102 EXTRA_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.
111 EXTRA_DIST += \
112   pcre.h.generic \
113   config.h.generic
114
115 pcre.h.generic: configure.ac
116         rm -f $@
117         cp -p pcre.h $@
118
119 MAINTAINERCLEANFILES += 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.
123 nodist_include_HEADERS = \
124   pcre.h
125 include_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).
131 if WITH_PCRE_CPP
132 nodist_include_HEADERS += \
133   pcrecpparg.h \
134   pcre_stringpiece.h
135 include_HEADERS += \
136   pcrecpp.h \
137   pcre_scanner.h
138 endif # WITH_PCRE_CPP
139
140 bin_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
149 if WITH_REBUILD_CHARTABLES
150
151 noinst_PROGRAMS += dftables
152 dftables_SOURCES = dftables.c
153
154 pcre_chartables.c: dftables$(EXEEXT)
155         ./dftables$(EXEEXT) $@
156 else
157
158 pcre_chartables.c: $(srcdir)/pcre_chartables.c.dist
159         rm -f $@
160         $(LN_S) $(srcdir)/pcre_chartables.c.dist $@
161
162 endif # WITH_REBUILD_CHARTABLES
163
164
165 ## The main pcre library
166 lib_LTLIBRARIES += libpcre.la
167 libpcre_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.
191 nodist_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.
197 EXTRA_DIST += pcre_printint.src pcre_chartables.c.dist
198
199 libpcre_la_LDFLAGS = $(EXTRA_LIBPCRE_LDFLAGS)
200
201 CLEANFILES += pcre_chartables.c
202
203 ## A version of the main pcre library that has a posix re API.
204 lib_LTLIBRARIES += libpcreposix.la
205 libpcreposix_la_SOURCES = \
206   pcreposix.c
207 libpcreposix_la_LDFLAGS = $(EXTRA_LIBPCREPOSIX_LDFLAGS)
208 libpcreposix_la_LIBADD = libpcre.la
209
210 ## There's a C++ library as well.
211 if WITH_PCRE_CPP
212
213 lib_LTLIBRARIES += libpcrecpp.la
214 libpcrecpp_la_SOURCES = \
215   pcrecpp_internal.h \
216   pcrecpp.cc \
217   pcre_scanner.cc \
218   pcre_stringpiece.cc
219 libpcrecpp_la_LDFLAGS = $(EXTRA_LIBPCRECPP_LDFLAGS)
220 libpcrecpp_la_LIBADD = libpcre.la
221
222 TESTS += pcrecpp_unittest
223 noinst_PROGRAMS += pcrecpp_unittest
224 pcrecpp_unittest_SOURCES = pcrecpp_unittest.cc
225 pcrecpp_unittest_LDADD = libpcrecpp.la
226
227 TESTS += pcre_scanner_unittest
228 noinst_PROGRAMS += pcre_scanner_unittest
229 pcre_scanner_unittest_SOURCES = pcre_scanner_unittest.cc
230 pcre_scanner_unittest_LDADD = libpcrecpp.la
231
232 TESTS += pcre_stringpiece_unittest
233 noinst_PROGRAMS += pcre_stringpiece_unittest
234 pcre_stringpiece_unittest_SOURCES = pcre_stringpiece_unittest.cc
235 pcre_stringpiece_unittest_LDADD = libpcrecpp.la
236
237 endif # 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
244 TESTS += RunTest
245 dist_noinst_SCRIPTS += RunTest
246 EXTRA_DIST += RunTest.bat
247 bin_PROGRAMS += pcretest
248 pcretest_SOURCES = pcretest.c
249 pcretest_LDADD = libpcreposix.la $(LIBREADLINE)
250
251 TESTS += RunGrepTest
252 dist_noinst_SCRIPTS += RunGrepTest
253 bin_PROGRAMS += pcregrep
254 pcregrep_SOURCES = pcregrep.c
255 pcregrep_LDADD = libpcreposix.la $(LIBZ) $(LIBBZ2)
256
257 EXTRA_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
294 CLEANFILES += \
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
307 EXTRA_DIST += pcredemo.c
308
309
310 ## Utility rules, documentation, etc.
311
312 # A compatibility line, the old build system worked with 'make test'
313 test: 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.)
319 DLL_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".
331 pcre.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.
336 pkgconfigdir = $(libdir)/pkgconfig
337 pkgconfig_DATA = libpcre.pc libpcreposix.pc
338 if WITH_PCRE_CPP
339 pkgconfig_DATA += libpcrecpp.pc
340 endif
341
342 dist_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
381 pcrecpp_man = doc/pcrecpp.3
382 EXTRA_DIST += $(pcrecpp_man)
383
384 if WITH_PCRE_CPP
385 man_MANS = $(pcrecpp_man)
386 endif
387
388 ## CMake support
389
390 EXTRA_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