Build system spring-clean.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 13 Jan 2009 16:31:35 +0000 (16:31 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 13 Jan 2009 17:36:08 +0000 (17:36 +0000)
This must have been revamped in the early stages of the `new style'.
Finish the job.

  * Restyling of Makefile.
  * Use of confsubst.
  * Create RELEASE file in distribution.
  * Move config cruft into subdirectory.
  * Scatter EXTRA_DIST stuff more, particularly debian directory.

.gitignore
.links
Makefile.am
configure.ac

index 1c67f55..a1f8f20 100644 (file)
@@ -8,3 +8,6 @@ configure
 elisp-comp
 install-sh
 missing
+auto-version
+autom4te.cache
+config
diff --git a/.links b/.links
index 5ecd9c6..5a93e8f 100644 (file)
--- a/.links
+++ b/.links
@@ -1 +1,3 @@
 COPYING
+config/auto-version
+config/confsubst
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 --------------------------------------------------
index 6552ea9..e4dd99c 100644 (file)
@@ -26,6 +26,7 @@ dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 mdw_AUTO_VERSION
 AC_INIT([Skel], AUTO_VERSION, [mdw@distorted.org.uk])
 AC_CONFIG_SRCDIR([skel.el.in])
+AC_CONFIG_AUX_DIR([config])
 AM_INIT_AUTOMAKE([foreign])
 
 AM_PATH_LISPDIR
@@ -35,7 +36,7 @@ mdw_DEFINE_PATHS([
 ])
 AC_SUBST([skeldir])
 
-AC_CONFIG_FILES([Makefile skel.el])
+AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
 
 dnl ----- That's all, folks -------------------------------------------------