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