configure.ac, Makefile.am, pcre.c, regexp.c: Overhaul conditional building.
[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_PCRE
35 LDADD += $(PCRE_LIBS)
36 endif
37
38 ###--------------------------------------------------------------------------
39 ### Making substitutions.
40
41 confsubst = $(top_srcdir)/config/confsubst
42 V_SUBST = $(V_SUBST_$(V))
43 V_SUBST_ = $(V_SUBST_$(AM_DEFAULT_VERBOSITY))
44 V_SUBST_0 = @echo " SUBST $@";
45 SUBST = $(V_SUBST)$(confsubst)
46 SUBSTITUTIONS = \
47 PACKAGE=$(PACKAGE) VERSION=$(VERSION) \
48 DICTIONARY=$(DICTIONARY) \
49 WISH=$(WISH) \
50 ANAG=$(bindir)/anag
51
52 EXTRA_DIST += config/confsubst
53
54 ###--------------------------------------------------------------------------
55 ### Main program.
56
57 bin_PROGRAMS += anag
58 anag_SOURCES = anag.c anag.h util.c
59 anag_SOURCES += anagram.c
60 anag_SOURCES += longest.c
61 anag_SOURCES += mono.c
62 if HAVE_PCRE
63 anag_SOURCES += pcre.c
64 endif
65 if HAVE_REGCOMP
66 anag_SOURCES += regexp.c
67 endif
68 anag_SOURCES += trackword.c
69 anag_SOURCES += wildcard.c
70
71 ###--------------------------------------------------------------------------
72 ### Java frontend.
73
74 JAVAC = @JAVAC@
75 SUFFIXES += .java .class
76 CLEANFILES += *.class *.jar
77 V_JAVAC = $(V_JAVAC_$(V))
78 V_JAVAC_ = $(V_JAVAC_$(AM_DEFAULT_VERBOSITY))
79 V_JAVAC_0 = @echo " JAVAC $@";
80 V_JAR = $(V_JAR_$(V))
81 V_JAR_ = $(V_JAR_$(AM_DEFAULT_VERBOSITY))
82 V_JAR_0 = @echo " JAR $@";
83 .java.class:; $(V_JAVAC)$(JAVAC) -d . $(JAVACFLAGS) $<
84
85 javadir = $(datadir)/java
86
87 if HAVE_JAVAC
88 java_DATA = anag.jar
89 endif
90
91 EXTRA_DIST += anag.manifest
92 EXTRA_DIST += AnagGUI.java
93 anag.jar: AnagGUI.class
94 $(V_JAR)jar cfm $@ $(srcdir)/anag.manifest *.class
95
96 ###--------------------------------------------------------------------------
97 ### Tcl/Tk frontend.
98
99 if HAVE_WISH
100 bin_SCRIPTS += anag-gui
101 endif
102
103 EXTRA_DIST += anag-gui.in
104 CLEANFILES += anag-gui
105
106 anag-gui: anag-gui.in Makefile
107 $(SUBST) $(srcdir)/anag-gui.in >$@.new $(SUBSTITUTIONS) && \
108 chmod +x $@.new && mv $@.new $@
109
110 ###--------------------------------------------------------------------------
111 ### Distribution arrangements.
112
113 ## Version number tracking.
114 dist-hook:
115 echo $(VERSION) >$(distdir)/RELEASE
116
117 EXTRA_DIST += config/auto-version
118
119 ## Zip file for DOSish platforms.
120 doszip: distdir
121 rm -f $(PACKAGE).zip
122 zip -qlr $(PACKAGE).zip $(distdir)
123 rm -rf $(distdir)
124
125 ## Debian packaging.
126 EXTRA_DIST += debian/control debian/changelog debian/copyright
127 EXTRA_DIST += debian/rules debian/compat debian/source/format
128 EXTRA_DIST += debian/anag.install
129 EXTRA_DIST += debian/anag-gui-java.install
130 EXTRA_DIST += debian/anag-gui-java.postinst
131 EXTRA_DIST += debian/anag-gui-java.prerm
132 EXTRA_DIST += debian/anag-gui.java
133 EXTRA_DIST += debian/anag-gui-tk.install
134 EXTRA_DIST += debian/anag-gui-tk.postinst
135 EXTRA_DIST += debian/anag-gui-tk.prerm
136
137 ##----- That's all, folks ---------------------------------------------------