chiark / gitweb /
pcre.c, etc.: Support the PCRE2 library.
[anag] / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for `anag'
4 ###
5 ### (c) 2001, 2016 Mark Wooding
6 ###
7
8 ###----- Licensing notice ---------------------------------------------------
9 ###
10 ### This file is part of Anag: a simple wordgame helper.
11 ###
12 ### Anag is free software; you can redistribute it and/or modify
13 ### it under the terms of the GNU General Public License as published by
14 ### the Free Software Foundation; either version 2 of the License, or
15 ### (at your option) any later version.
16 ###
17 ### Anag is distributed in the hope that it will be useful,
18 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 ### GNU General Public License for more details.
21 ###
22 ### You should have received a copy of the GNU General Public License
23 ### along with Anag; if not, write to the Free Software Foundation,
24 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25
26 EXTRA_DIST               =
27 CLEANFILES               =
28 SUFFIXES                 =
29
30 bin_PROGRAMS             =
31 bin_SCRIPTS              =
32
33 LDADD                    =
34 if HAVE_PCRE2
35   LDADD                 += $(PCRE2_LIBS)
36 else
37 if HAVE_PCRE
38   LDADD                 += $(PCRE_LIBS)
39 endif
40 endif
41
42 ###--------------------------------------------------------------------------
43 ### Making substitutions.
44
45 confsubst = $(top_srcdir)/config/confsubst
46 V_SUBST = $(V_SUBST_$(V))
47 V_SUBST_ = $(V_SUBST_$(AM_DEFAULT_VERBOSITY))
48 V_SUBST_0 = @echo "  SUBST  $@";
49 SUBST = $(V_SUBST)$(confsubst)
50 SUBSTITUTIONS = \
51         PACKAGE=$(PACKAGE) VERSION=$(VERSION) \
52         DICTIONARY=$(DICTIONARY) \
53         WISH=$(WISH) \
54         ANAG=$(bindir)/anag
55
56 EXTRA_DIST              += config/confsubst
57
58 ###--------------------------------------------------------------------------
59 ### Main program.
60
61 bin_PROGRAMS            += anag
62 anag_SOURCES             = anag.c anag.h util.c
63 anag_SOURCES            += anagram.c
64 anag_SOURCES            += longest.c
65 anag_SOURCES            += mono.c
66 if HAVE_PCRE2
67   anag_SOURCES          += pcre.c
68 else
69 if HAVE_PCRE
70     anag_SOURCES        += pcre.c
71 endif
72 endif
73 if HAVE_REGCOMP
74   anag_SOURCES          += regexp.c
75 endif
76 anag_SOURCES            += trackword.c
77 anag_SOURCES            += wildcard.c
78
79 ###--------------------------------------------------------------------------
80 ### Java frontend.
81
82 JAVAC = @JAVAC@
83 SUFFIXES += .java .class
84 CLEANFILES += *.class *.jar
85 V_JAVAC = $(V_JAVAC_$(V))
86 V_JAVAC_ = $(V_JAVAC_$(AM_DEFAULT_VERBOSITY))
87 V_JAVAC_0 = @echo "  JAVAC  $@";
88 V_JAR = $(V_JAR_$(V))
89 V_JAR_ = $(V_JAR_$(AM_DEFAULT_VERBOSITY))
90 V_JAR_0 = @echo "  JAR    $@";
91 .java.class:; $(V_JAVAC)$(JAVAC) -d . $(JAVACFLAGS) $<
92
93 javadir                  = $(datadir)/java
94
95 if HAVE_JAVAC
96 java_DATA                = anag.jar
97 endif
98
99 EXTRA_DIST              += anag.manifest
100 EXTRA_DIST              += AnagGUI.java
101 anag.jar: AnagGUI.class
102         $(V_JAR)jar cfm $@ $(srcdir)/anag.manifest *.class
103
104 ###--------------------------------------------------------------------------
105 ### Tcl/Tk frontend.
106
107 if HAVE_WISH
108 bin_SCRIPTS             += anag-gui
109 endif
110
111 EXTRA_DIST              += anag-gui.in
112 CLEANFILES              += anag-gui
113
114 anag-gui: anag-gui.in Makefile
115         $(SUBST) $(srcdir)/anag-gui.in >$@.new $(SUBSTITUTIONS) && \
116                 chmod +x $@.new && mv $@.new $@
117
118 ###--------------------------------------------------------------------------
119 ### Distribution arrangements.
120
121 ## Version number tracking.
122 dist-hook:
123         echo $(VERSION) >$(distdir)/RELEASE
124
125 EXTRA_DIST              += config/auto-version
126
127 ## Zip file for DOSish platforms.
128 doszip: distdir
129         rm -f $(PACKAGE).zip
130         zip -qlr $(PACKAGE).zip $(distdir)
131         rm -rf $(distdir)
132
133 ## Debian packaging.
134 EXTRA_DIST              += debian/control debian/changelog debian/copyright
135 EXTRA_DIST              += debian/rules debian/compat debian/source/format
136 EXTRA_DIST              += debian/anag.install
137 EXTRA_DIST              += debian/anag-gui-java.install
138 EXTRA_DIST              += debian/anag-gui-java.postinst
139 EXTRA_DIST              += debian/anag-gui-java.prerm
140 EXTRA_DIST              += debian/anag-gui.java
141 EXTRA_DIST              += debian/anag-gui-tk.install
142 EXTRA_DIST              += debian/anag-gui-tk.postinst
143 EXTRA_DIST              += debian/anag-gui-tk.prerm
144
145 ##----- That's all, folks ---------------------------------------------------