From 2d26def0197d7f82bf32c8464e73cc77dd2297f2 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Thu, 1 Aug 1996 08:16:15 +0000 Subject: [PATCH] Rehashed distribution system, in preparation for nightly snapshots. Other changes in subdirectories. * Makefile.in (dist): Rewritten --- the old target was out of date, dependent on files that we don't have, and relied on GNU tar. The new target is simpler. (VERSION, srcdir, dist_dirs): New variables. (DISTFILES): Renamed from localfiles. Added GUILE-VERSION and TODO. (localtreats): Variable removed. We don't have this file. (info): cd to doc and make info there; don't make info in every ${subdir}; those Makefiles don't know what to do. (distname, distdir, treats, announcefile): Variables removed. (manifest-file): Target removed. (dist-dir): New target, responsible for distributable files in this directory. (GZIP, GZIP_EXT, TAR_VERBOSE, DIST_NAME): New variables, controlling the 'dist' target. * configure.in: Substitute GUILE-VERSION into the top-level Makefile. Build doc/Makefile from doc/Makefile.in. --- Makefile.in | 69 +++++++++++++++++++++++++--------------------------- configure | 14 +++++++---- configure.in | 5 +++- 3 files changed, 46 insertions(+), 42 deletions(-) diff --git a/Makefile.in b/Makefile.in index c2334e3f7..3d0996128 100644 --- a/Makefile.in +++ b/Makefile.in @@ -14,13 +14,19 @@ # along with this software; see the file COPYING. If not, write to # the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +VERSION = @GUILE_VERSION@ SHELL = /bin/sh +srcdir=@srcdir@ subdirs=@existingdirs@ +dist_dirs=${subdirs} doc -localfiles = ANNOUNCE \ +DISTFILES = ANNOUNCE \ + BUILDING \ COPYING \ + GUILE-VERSION \ + TODO \ Makefile.in \ configure \ configure.in \ @@ -28,8 +34,6 @@ localfiles = ANNOUNCE \ config.guess \ install-sh -localtreats = ANN.BX - # `all' # Compile the entire program. This should be the default target. # This target need not rebuild any documentation files; info files @@ -167,12 +171,7 @@ TAGS: # should run the Makeinfo program, which is part of the Texinfo2 # distribution. info: - for dir in ${subdirs}; do \ - cd $$dir; \ - ${MAKE} info; \ - cd .. ;\ - done - + cd doc; ${MAKE} info #`dvi' # Generate DVI files for all TeXinfo documentation. For example: @@ -209,35 +208,33 @@ dvi: # The `dist' target should explicitly depend on all non-source files # that are in the distribution, to make sure they are up to date in # the distribution. *Ref Making Releases: (standards)Releases. -distname = brand-x -distdir = $(distname) -treats = $(localtreats) -announcefile = ANN.BX - -manifest-file: - rm -f MANIFEST - cp $(announcefile) ANNOUNCE - for treat in $(localfiles) $(treats) ; \ - do echo $$treat >> MANIFEST ; \ +.PHONY: dist +GZIP=gzip --best +GZIP_EXT=.gz +TAR_VERBOSE=v +DIST_NAME=guile-${VERSION} +dist: info + @echo "Creating distribution for ${DIST_NAME}." + rm -rf ${DIST_NAME} ${DIST_NAME}.tar${GZIP_EXT} + ${MAKE} dist-dir DISTDIR="${DIST_NAME}" + for dir in ${dist_dirs}; do \ + ( DISTDIR="../${DIST_NAME}/$${dir}"; \ + cd $${dir} && \ + ${MAKE} dist-dir DISTDIR="$${DISTDIR}" \ + ); \ done - for subdir in $(subdirs) ; do \ - make -s -f $$subdir/Makefile.in SUBDIR=$$subdir manifest >> MANIFEST ; \ - done - sed -e "s%^%$(distdir)/%" MANIFEST > M2 - sed -e "/Entering dir/d" -e "/Leaving dir/d" M2 > MANIFEST - rm M2 + tar chf${TAR_VERBOSE} - ${DIST_NAME} | ${GZIP} > "${DIST_NAME}.tar${GZIP_EXT}" + rm -rf ${DIST_NAME} - - -dist: manifest-file - mkdir $(distdir) - - cd $(distdir); \ - for file in $(localfiles) $(treats) $(subdirs); do ln -s ../$$file .; done; \ - cd ..; \ - gtar -zhcvf $(distname).tar.gz --files-from MANIFEST - rm -rf $(distdir) - -gtar ztvf $(distname).tar.gz | grep ".*~" > BACKUPS - test -s BACKUPS && (echo WARNING -- MANIFEST INCLUDES BACK FILES; cat BACKUPS) +# The `dist' target in the top-level Makefile uses this `dist-dir' +# target to select the appropriate files for distribution from the +# directory containing this Makefile. +.PHONY: dist-dir +dist-dir: + mkdir ${DISTDIR} + for i in ${DISTFILES}; do \ + ln $(srcdir)/$${i} ${DISTDIR}; \ + done #`check' # Perform self-tests (if any). The user must build the program diff --git a/configure b/configure index 098617faf..1dc7a49ea 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.9 +# Generated automatically using autoconf version 2.10 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation @@ -330,7 +330,7 @@ EOF verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.9" + echo "configure generated by autoconf version 2.10" exit 0 ;; -with-* | --with-*) @@ -513,6 +513,8 @@ fi +. $srcdir/GUILE-VERSION + all_subdirs=`cat $srcdir/*/PLUGIN/REQ $srcdir/*/PLUGIN/OPT /dev/null | tsort | xargs echo` req_subdirs=`cat $srcdir/*/PLUGIN/REQ /dev/null | tsort | xargs echo` opt_subdirs=`cat $srcdir/*/PLUGIN/OPT /dev/null | tsort | xargs echo` @@ -580,6 +582,7 @@ fi + trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure @@ -668,7 +671,7 @@ do echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.9" + echo "$CONFIG_STATUS generated by autoconf version 2.10" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; @@ -678,7 +681,7 @@ done ac_given_srcdir=$srcdir -trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +trap 'rm -fr `echo "Makefile doc/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then diff --git a/configure.in b/configure.in index 6ea5ef4c6..c0b3f6586 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,7 @@ AC_INIT(Makefile.in) +. $srcdir/GUILE-VERSION + all_subdirs=`cat $srcdir/*/PLUGIN/REQ $srcdir/*/PLUGIN/OPT /dev/null | tsort | xargs echo` req_subdirs=`cat $srcdir/*/PLUGIN/REQ /dev/null | tsort | xargs echo` opt_subdirs=`cat $srcdir/*/PLUGIN/OPT /dev/null | tsort | xargs echo` @@ -47,4 +49,5 @@ fi AC_SUBST(existingdirs) -AC_OUTPUT(Makefile) +AC_SUBST(GUILE_VERSION) +AC_OUTPUT(Makefile doc/Makefile)