Build system spring-clean.
[skel] / Makefile.am
index 3102500..7c1db16 100644 (file)
 ### along with Skel; if not, write to the Free Software Foundation,
 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+lisp_LISP               =
+ELCFILES                =
+
+CLEANFILES              =
+EXTRA_DIST              =
+
+confsubst = $(top_srcdir)/config/confsubst
+SUBSTITUTIONS = \
+       PACKAGE=$(PACKAGE) VERSION=$(VERSION)
+
 ###--------------------------------------------------------------------------
 ### Emacs Lisp stuff.
 
-lisp_LISP = skel.el skel-init.el
-ELCFILES = skel.elc
+CLEANFILES             += *.elc
+
+## Main program.
+lisp_LISP              += skel.el
+ELCFILES               += skel.elc
+EXTRA_DIST             += skel.el.in
+CLEANFILES             += skel.el
+
+skel.el: skel.el.in Makefile
+       $(confsubst) $(srcdir)/skel.el.in $(SUBSTITUTIONS)>$@.new
+       mv $@.new $@
+
+## Loader stub.
+lisp_LISP              += skel-init.el
+EXTRA_DIST             += skel-init.el
 
 ###--------------------------------------------------------------------------
 ### Skeleton files for various languages.
 
-SKEL_FILES = skeleton skelrc
+skel_DATA               = skeleton skelrc
+EXTRA_DIST             += $(skel_DATA)
 
 ## C and related languages
-SKEL_FILES += skelrc.c skelrc.h
-SKEL_FILES += skelrc.cc
-SKEL_FILES += skelrc.m
-SKEL_FILES += skelrc.cs
-SKEL_FILES += skelrc.java
+skel_DATA              += skelrc.c skelrc.h
+skel_DATA              += skelrc.cc
+skel_DATA              += skelrc.m
+skel_DATA              += skelrc.cs
+skel_DATA              += skelrc.java
 
 ## Lisp
-SKEL_FILES += skelrc.lisp
-SKEL_FILES += skelrc.scm
-SKEL_FILES += skelrc.el
+skel_DATA              += skelrc.lisp
+skel_DATA              += skelrc.scm
+skel_DATA              += skelrc.el
 
 ## Python
-SKEL_FILES += skelrc.py skelrc.pyx
+skel_DATA              += skelrc.py skelrc.pyx
 
 ## Perl
-SKEL_FILES += skelrc.pl skelrc.pm
+skel_DATA              += skelrc.pl skelrc.pm
 
 ## Autotools
-SKEL_FILES += skelrc.am skelrc.ac skelrc.at
+skel_DATA              += skelrc.am skelrc.ac skelrc.at
 
 ## Haskell
-SKEL_FILES += skelrc.hs
+skel_DATA              += skelrc.hs
 
 ## Skeleton files
-SKEL_FILES += skeleton.skel skelrc.skel
+skel_DATA              += skeleton.skel skelrc.skel
 
 ## Texinfo
-SKEL_FILES += skeleton.texi skelrc.texi
+skel_DATA              += skeleton.texi skelrc.texi
 
 ###--------------------------------------------------------------------------
-### What goes where.
-
-pkgdata_DATA = $(SKEL_FILES)
+### Making releases.
 
-###--------------------------------------------------------------------------
-### Distribution.
+EXTRA_DIST             += config/auto-version config/confsubst
 
-EXTRA_DIST = $(SKEL_FILES) skel-init.el
+dist-hook::
+       echo $(VERSION) >$(distdir)/RELEASE
 
 ###--------------------------------------------------------------------------
 ### Debian.
 
-EXTRA_DIST += \
-       debian/control debian/copyright debian/changelog debian/rules \
-       debian/skel.emacsen-install debian/skel.emacsen-remove \
-       debian/skel.emacsen-startup
+EXTRA_DIST             += debian/control debian/copyright
+EXTRA_DIST             += debian/changelog debian/rules
+
+EXTRA_DIST             += debian/skel.emacsen-install
+EXTRA_DIST             += debian/skel.emacsen-remove
+EXTRA_DIST             += debian/skel.emacsen-startup
 
 ###----- That's all, folks --------------------------------------------------