From 37422fae5b027a4dda9020203cbd2d78381b47bc Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Tue, 13 Jan 2009 16:31:35 +0000 Subject: [PATCH] Build system spring-clean. 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 | 3 +++ .links | 2 ++ Makefile.am | 78 +++++++++++++++++++++++++++++++++++++++--------------------- configure.ac | 3 ++- 4 files changed, 58 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 1c67f55..a1f8f20 100644 --- a/.gitignore +++ b/.gitignore @@ -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 --- a/.links +++ b/.links @@ -1 +1,3 @@ COPYING +config/auto-version +config/confsubst diff --git a/Makefile.am b/Makefile.am index 3102500..7c1db16 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,63 +23,87 @@ ### 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 -------------------------------------------------- diff --git a/configure.ac b/configure.ac index 6552ea9..e4dd99c 100644 --- a/configure.ac +++ b/configure.ac @@ -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 ------------------------------------------------- -- 2.11.0