chiark / gitweb /
Quick lick of paint before we really get started.
[anag] / Makefile.am
index 8fbe744..6374697 100644 (file)
-## -*-makefile-*-
-##
-## $Id: Makefile.am,v 1.2 2001/02/04 19:53:07 mdw Exp $
-##
-## Makefile for Anag
-##
-## (c) 2001 Mark Wooding
-##
-
-##----- Licensing notice ----------------------------------------------------
-##
-## This file is part of Anag: a simple wordgame helper.
-##
-## Anag is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-## 
-## Anag is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-## 
-## You should have received a copy of the GNU General Public License
-## along with Anag; if not, write to the Free Software Foundation,
-## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-##----- Revision history ----------------------------------------------------
-##
-## $Log: Makefile.am,v $
-## Revision 1.2  2001/02/04 19:53:07  mdw
-## Simple GUI front-end in Java.
-##
-## Revision 1.1  2001/02/04 17:14:42  mdw
-## Initial checkin
-##
-
-AUTOMAKE_OPTIONS = foreign
-SUFFIXES = .java .class
-JAVAC = javac
-.java.class:; $(JAVAC) -d . $<
-
-bin_PROGRAMS = anag
-anag_SOURCES = anag.c anag.h wildcard.c anagram.c trackword.c util.c
-
-all: anag.jar
+### -*-makefile-*-
+###
+### Build script for `anag'
+###
+### (c) 2001, 2016 Mark Wooding
+###
+
+###----- Licensing notice ---------------------------------------------------
+###
+### This file is part of Anag: a simple wordgame helper.
+###
+### Anag is free software; you can redistribute it and/or modify
+### it under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 2 of the License, or
+### (at your option) any later version.
+###
+### Anag is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with Anag; if not, write to the Free Software Foundation,
+### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+EXTRA_DIST              =
+CLEANFILES              =
+SUFFIXES                =
+
+bin_PROGRAMS            =
+bin_SCRIPTS             =
+
+###--------------------------------------------------------------------------
+### Making substitutions.
+
+confsubst = $(top_srcdir)/config/confsubst
+V_SUBST = $(V_SUBST_$(V))
+V_SUBST_ = $(V_SUBST_$(AM_DEFAULT_VERBOSITY))
+V_SUBST_0 = @echo "  SUBST  $@";
+SUBST = $(V_SUBST)$(confsubst)
+SUBSTITUTIONS = \
+       PACKAGE=$(PACKAGE) VERSION=$(VERSION) \
+       DICTIONARY=$(DICTIONARY) \
+       WISH=$(WISH) \
+       ANAG=$(bindir)/anag
+
+EXTRA_DIST              += config/confsubst
+
+###--------------------------------------------------------------------------
+### Main program.
+
+bin_PROGRAMS           += anag
+anag_SOURCES            = anag.c anag.h util.c
+anag_SOURCES           += anagram.c
+anag_SOURCES           += longest.c
+anag_SOURCES           += mono.c
+anag_SOURCES           += pcre.c
+anag_SOURCES           += regexp.c
+anag_SOURCES           += trackword.c
+anag_SOURCES           += wildcard.c
+
+###--------------------------------------------------------------------------
+### Java frontend.
+
+JAVAC = @JAVAC@
+SUFFIXES += .java .class
+CLEANFILES += *.class *.jar
+V_JAVAC = $(V_JAVAC_$(V))
+V_JAVAC_ = $(V_JAVAC_$(AM_DEFAULT_VERBOSITY))
+V_JAVAC_0 = @echo "  JAVAC  $@";
+V_JAR = $(V_JAR_$(V))
+V_JAR_ = $(V_JAR_$(AM_DEFAULT_VERBOSITY))
+V_JAR_0 = @echo "  JAR    $@";
+.java.class:; $(V_JAVAC)$(JAVAC) -d . $(JAVACFLAGS) $<
+
+javadir                         = $(datadir)/java
+
+if HAVE_JAVAC
+java_DATA               = anag.jar
+endif
+
+EXTRA_DIST             += anag.manifest
+EXTRA_DIST             += AnagGUI.java
 anag.jar: AnagGUI.class
-       jar cf anag.jar *.class
-AnagGUI.class: AnagGUI.java
+       $(V_JAR)jar cfm $@ $(srcdir)/anag.manifest *.class
+
+###--------------------------------------------------------------------------
+### Tcl/Tk frontend.
+
+if HAVE_WISH
+bin_SCRIPTS            += anag-gui
+endif
+
+EXTRA_DIST             += anag-gui.in
+CLEANFILES             += anag-gui
+
+anag-gui: anag-gui.in Makefile
+       $(SUBST) $(srcdir)/anag-gui.in >$@.new $(SUBSTITUTIONS) && \
+               chmod +x $@.new && mv $@.new $@
+
+###--------------------------------------------------------------------------
+### Distribution arrangements.
+
+## Version number tracking.
+dist-hook:
+       echo $(VERSION) >$(distdir)/RELEASE
+
+EXTRA_DIST             += config/auto-version
+
+## Zip file for DOSish platforms.
+doszip: distdir
+       rm -f $(PACKAGE).zip
+       zip -qlr $(PACKAGE).zip $(distdir)
+       rm -rf $(distdir)
 
-EXTRA_DIST = AnagGUI.java
-CLEANFILES = *.class
+## Debian packaging.
+EXTRA_DIST             += debian/control debian/changelog debian/copyright
+EXTRA_DIST             += debian/rules debian/compat debian/source/format
+EXTRA_DIST             += debian/anag.install
+EXTRA_DIST             += debian/anag-gui-java.install
+EXTRA_DIST             += debian/anag-gui-java.postinst
+EXTRA_DIST             += debian/anag-gui-java.prerm
+EXTRA_DIST             += debian/anag-gui.java
+EXTRA_DIST             += debian/anag-gui-tk.install
+EXTRA_DIST             += debian/anag-gui-tk.postinst
+EXTRA_DIST             += debian/anag-gui-tk.prerm
 
 ##----- That's all, folks ---------------------------------------------------