Refactor all the test case common code into shell functions in
tests/defs, and move the various demo directories out of
$top_srcdir, and into tests too. The refactoring showed up a
number of inconsistencies and latent bugs, as well as fixing (I
think!!) the long-standing annoyance with some of the tests giving
spurious failures intermittently. While I was here, emacs kindly
removed a lot of bogus whitespace and added copyright notices for
us:
* cdemo, demo, depdemo, f77demo, mdemo, mdemo2, pdemo, tagdemo:
Moved from here...
* tests/cdemo, tests/demo, tests/depdemo, tests/f77demo,
tests/mdemo, tests/mdemo2, tests/pdemo, tests/tagdemo: ...to
here.
* tests/defs: Factor much common functionality from the test
scripts into shell functions. Added a copyright notice.
* tests/assign.test, tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/demo-conf.test,
tests/demo-deplibs.test, tests/demo-exec.test,
tests/demo-inst.test, tests/demo-make.test,
tests/demo-nofast.test, tests/demo-nopic.test,
tests/demo-pic.test, tests/demo-shared.test,
tests/demo-static.test, tests/demo-unst.test,
tests/depdemo-conf.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/depdemo-make.test,
tests/depdemo-nofast.test, tests/depdemo-shared.test,
tests/depdemo-static.test, tests/depdemo-unst.test,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/link-2.test, tests/link.test,
tests/mdemo-conf.test, tests/mdemo-exec.test,
tests/mdemo-inst.test, tests/mdemo-make.test,
tests/mdemo-shared.test, tests/mdemo-static.test,
tests/mdemo-unst.test, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo-unst.test, tests/quote.test, tests/sh.test,
tests/suffix.test, tests/tagdemo-conf.test,
tests/tagdemo-exec.test, tests/tagdemo-make.test,
tests/tagdemo-shared.test, tests/tagdemo-static.test: Refactored
to use new functions in tests/defs. Added a copyright notice.
* tests/hardcode.test, noinst-link.test,
tests/relink.test, tests/relink.test,
tests/mdryrun.test: Ditto. Moved from here...
* tests/demo-hardcode.test, demo-noinst-link.test,
tests/demo-relink.test, tests/depdemo-relink.test,
tests/mdemo-dryrun.test: ...to here respectively.
* Makefile.am: Added a copyright notice.
* tests/sh.test: Check libtoolize.in for non-portabilities too.
* libtoolize.in: Fix non-portabilities found by tests/sh.test.
2003-10-15 05:45:03 +08:00
|
|
|
## Makefile.am -- Process this file with automake to produce Makefile.in
|
|
|
|
##
|
A complete rewrite of the m4 code involved in the generation of
libtool via config.status. The old way involved manually
synchronising disparate bits of shell code in several macros, to
quote a copy of a shell variable, put that in config.status, maybe
add it to some quotation loops to prevent early expansion, and
then add a block to _LT_CONFIG_COMMANDS to bring it into the
libtool script. The new way is to mark shell variables for
propogation using _LT_DECL for language independent variables, or
_LT_TAGDECL for those that need to be propogated in several
language flavours. The marking can be done in the macro that
probes the variables, and this new m4 machinery takes care of
synchronising all the other bits of code at autoconf time:
* m4/ltsugar.m4: New file. Macros that are useful outside the
context of libtool. Initially, contains some generalised list
management macros, and the scaffolding for dictionary type data
storage and retrieval.
* Makefile.am (aclocal_macros): Install ltsugar.m4.
* m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to
the libtool script, along with a comment, and hints for quoting
and renaming.
(_LT_TAGDECL): Similarly mark a tagged shell variable for export
in each tag.
(lt_decl_tag_varnames, lt_decl_quote_varnames)
(lt_decl_dquote_varnames, lt_decl_varnames_tagged)
(lt_decl_all_varnames): New utility macros for managing lists of
shell variable names from _LT_DECL and _LT_TAGDECL.
(_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE):
Expand to correctly quoted variable declarations in config.status
from all marked shell variables.
(_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable
declaration for libtool tag section.
(_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked
variables to _LT_LIBTOOL_DECLARE.
(_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and
friends to generate all the variable passing shell code for
config.status, to get marked variables from libtool.m4 into
libtool itself eventually.
(AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag
configuration. Changed all client macros to mark variables
suitably rather than the hand pasting that was necessary
previously.
(AC_PROG_SED): Renamed from LT_AC_PROG_SED.
(LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for
propogation to the libtool script.
2004-01-07 20:26:25 +08:00
|
|
|
## Copyright (C) 2003, 2004 Free Software Foundation
|
Refactor all the test case common code into shell functions in
tests/defs, and move the various demo directories out of
$top_srcdir, and into tests too. The refactoring showed up a
number of inconsistencies and latent bugs, as well as fixing (I
think!!) the long-standing annoyance with some of the tests giving
spurious failures intermittently. While I was here, emacs kindly
removed a lot of bogus whitespace and added copyright notices for
us:
* cdemo, demo, depdemo, f77demo, mdemo, mdemo2, pdemo, tagdemo:
Moved from here...
* tests/cdemo, tests/demo, tests/depdemo, tests/f77demo,
tests/mdemo, tests/mdemo2, tests/pdemo, tests/tagdemo: ...to
here.
* tests/defs: Factor much common functionality from the test
scripts into shell functions. Added a copyright notice.
* tests/assign.test, tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/demo-conf.test,
tests/demo-deplibs.test, tests/demo-exec.test,
tests/demo-inst.test, tests/demo-make.test,
tests/demo-nofast.test, tests/demo-nopic.test,
tests/demo-pic.test, tests/demo-shared.test,
tests/demo-static.test, tests/demo-unst.test,
tests/depdemo-conf.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/depdemo-make.test,
tests/depdemo-nofast.test, tests/depdemo-shared.test,
tests/depdemo-static.test, tests/depdemo-unst.test,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/link-2.test, tests/link.test,
tests/mdemo-conf.test, tests/mdemo-exec.test,
tests/mdemo-inst.test, tests/mdemo-make.test,
tests/mdemo-shared.test, tests/mdemo-static.test,
tests/mdemo-unst.test, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo-unst.test, tests/quote.test, tests/sh.test,
tests/suffix.test, tests/tagdemo-conf.test,
tests/tagdemo-exec.test, tests/tagdemo-make.test,
tests/tagdemo-shared.test, tests/tagdemo-static.test: Refactored
to use new functions in tests/defs. Added a copyright notice.
* tests/hardcode.test, noinst-link.test,
tests/relink.test, tests/relink.test,
tests/mdryrun.test: Ditto. Moved from here...
* tests/demo-hardcode.test, demo-noinst-link.test,
tests/demo-relink.test, tests/depdemo-relink.test,
tests/mdemo-dryrun.test: ...to here respectively.
* Makefile.am: Added a copyright notice.
* tests/sh.test: Check libtoolize.in for non-portabilities too.
* libtoolize.in: Fix non-portabilities found by tests/sh.test.
2003-10-15 05:45:03 +08:00
|
|
|
##
|
|
|
|
## This program 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.
|
|
|
|
##
|
|
|
|
## This program 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 this program; see the file COPYING. If not, write to
|
|
|
|
## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
|
## Boston, MA 02111-1307, USA.
|
* configure.in (AC_CONFIG_DIRS): configure only libltdl, and then,
only if --enable-ltdl-install
(CONF_SUBDIRS): list directories that are configured on demand,
but that must be included in the distribution
(ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS
* Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and
readme-alpha, to handle README-alpha automatically
(EXTRA_DIST): removed README-alpha
(BUILD_SUBDIRS): subdirectories that are always built
(SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL
(DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure
(all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from
configure, and libtool, so that it is built before subdirs
(configure-subdirs): new target
(configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST),
from configure
(@DIST_MAKEFILE_LIST@): create subdir if needed, then run
configure.
On-demand configuration of subdirs at distribution time was
suggested by Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
1999-01-13 18:41:07 +08:00
|
|
|
|
* bootstrap: Rewritten to use autoreconf.
* config.guess, config.sub, mkstamp: Moved from here...
* config/config.guess, config/config.sub, config/mkstamp: ...to
here, respectively.
* libtool.m4, ltdl.m4: Moved from here...
* m4/libtool.m4, m4/ltdl.m4: ...to here, respectively.
* configure.ac: Removed various acinclude.m4 hackery, as these
files are no longer needed with automake 1.8.
* Makefile.am: Removed various acinclude.m4 hackery, as these
files are no longer needed with automake 1.8.
(AUTOMAKE_OPTIONS): Require CVS automake.
(CONF_SUBDIRS, CFLAGS, CPPFLAGS, LDFLAGS, LIBS, FFLAGS, FLIBS):
Automake now makes a Make variable from every AC_SUBST, so these
are NOP.
(aclocal_macros): These files are now in their own m4 subdir.
Changed all clients.
(EXTRA_DIST): mkstamp has moved to the new config subdir. Changed
all clients.
(pkgdata_SCRIPTS): Ditto wrt config.guess and config.sub.
(pkgdata_DATA): Ditto wrt ltmain.sh.
* f77demo/configure.ac, libltdl/configure.ac (AM_CONFIG_HEADER):
Is deprecated in favour of AC_CONFIG_HEADERS. Updated to the
latter.
* Makefile.am, cdemo/Makefile.am, demo/Makefile.am,
depdemo/Makefile.am, f77demo/Makefile.am, mdemo/Makefile.am,
mdemo2/Makefile.am, pdemo/Makefile.am, tagdemo/Makefile.am
(EXTRA_DIST): Remove acinclude.m4.
(ACLOCAL_AMFLAGS): Search new `m4' macro directory.
* configure.ac, cdemo/configure.ac, demo/configure.ac,
depdemo/configure.ac, f77demo/configure.ac, mdemo/configure.ac,
mdemo2/configure.ac, pdemo/configure.ac, tagdemo/configure.ac
(AC_CONFIG_AUX_DIR): Declare that config helper scripts are now
kept in the new config subdir.
* libltdl/configure.ac (AC_CONFIG_AUX_DIR): Removed. Defaults to
`.' anyway.
2003-09-25 19:22:29 +08:00
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
* configure.in (AC_CONFIG_DIRS): configure only libltdl, and then,
only if --enable-ltdl-install
(CONF_SUBDIRS): list directories that are configured on demand,
but that must be included in the distribution
(ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS
* Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and
readme-alpha, to handle README-alpha automatically
(EXTRA_DIST): removed README-alpha
(BUILD_SUBDIRS): subdirectories that are always built
(SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL
(DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure
(all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from
configure, and libtool, so that it is built before subdirs
(configure-subdirs): new target
(configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST),
from configure
(@DIST_MAKEFILE_LIST@): create subdir if needed, then run
configure.
On-demand configuration of subdirs at distribution time was
suggested by Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
1999-01-13 18:41:07 +08:00
|
|
|
|
1999-03-10 06:13:49 +08:00
|
|
|
BUILD_SUBDIRS = . libltdl doc tests
|
1999-01-14 23:07:12 +08:00
|
|
|
SUBDIRS = $(BUILD_SUBDIRS)
|
2003-11-17 23:49:06 +08:00
|
|
|
DIST_SUBDIRS = $(BUILD_SUBDIRS)
|
1997-04-02 02:29:23 +08:00
|
|
|
|
2004-01-08 18:34:52 +08:00
|
|
|
EXTRA_DIST = bootstrap libtoolize.in ltmain.in config/mkstamp stamp-vcl \
|
|
|
|
ChangeLog.1996 ChangeLog.1997 ChangeLog.1998 ChangeLog.1999 \
|
|
|
|
ChangeLog.2000 ChangeLog.2001 ChangeLog.2002 ChangeLog.2003
|
2000-09-07 01:31:09 +08:00
|
|
|
CLEANFILES = libtool libtoolize ltmain.shT
|
1997-04-02 02:29:23 +08:00
|
|
|
|
|
|
|
# These are required by libtoolize.
|
* bootstrap: Rewritten to use autoreconf.
* config.guess, config.sub, mkstamp: Moved from here...
* config/config.guess, config/config.sub, config/mkstamp: ...to
here, respectively.
* libtool.m4, ltdl.m4: Moved from here...
* m4/libtool.m4, m4/ltdl.m4: ...to here, respectively.
* configure.ac: Removed various acinclude.m4 hackery, as these
files are no longer needed with automake 1.8.
* Makefile.am: Removed various acinclude.m4 hackery, as these
files are no longer needed with automake 1.8.
(AUTOMAKE_OPTIONS): Require CVS automake.
(CONF_SUBDIRS, CFLAGS, CPPFLAGS, LDFLAGS, LIBS, FFLAGS, FLIBS):
Automake now makes a Make variable from every AC_SUBST, so these
are NOP.
(aclocal_macros): These files are now in their own m4 subdir.
Changed all clients.
(EXTRA_DIST): mkstamp has moved to the new config subdir. Changed
all clients.
(pkgdata_SCRIPTS): Ditto wrt config.guess and config.sub.
(pkgdata_DATA): Ditto wrt ltmain.sh.
* f77demo/configure.ac, libltdl/configure.ac (AM_CONFIG_HEADER):
Is deprecated in favour of AC_CONFIG_HEADERS. Updated to the
latter.
* Makefile.am, cdemo/Makefile.am, demo/Makefile.am,
depdemo/Makefile.am, f77demo/Makefile.am, mdemo/Makefile.am,
mdemo2/Makefile.am, pdemo/Makefile.am, tagdemo/Makefile.am
(EXTRA_DIST): Remove acinclude.m4.
(ACLOCAL_AMFLAGS): Search new `m4' macro directory.
* configure.ac, cdemo/configure.ac, demo/configure.ac,
depdemo/configure.ac, f77demo/configure.ac, mdemo/configure.ac,
mdemo2/configure.ac, pdemo/configure.ac, tagdemo/configure.ac
(AC_CONFIG_AUX_DIR): Declare that config helper scripts are now
kept in the new config subdir.
* libltdl/configure.ac (AC_CONFIG_AUX_DIR): Removed. Defaults to
`.' anyway.
2003-09-25 19:22:29 +08:00
|
|
|
pkgdata_SCRIPTS = config/config.guess config/config.sub
|
|
|
|
pkgdata_DATA = config/ltmain.sh
|
1997-04-02 02:29:23 +08:00
|
|
|
|
2004-01-08 18:34:52 +08:00
|
|
|
# Me maintain our own macros to provent problems with ancient definitions.
|
2004-01-16 03:16:51 +08:00
|
|
|
# lt~obsolete.m4 doesn't belong here, it's for bootstrapping us only
|
2004-01-08 18:34:52 +08:00
|
|
|
pkgmacrodir = $(pkgdatadir)/m4
|
|
|
|
pkgmacro_DATA = m4/libtool.m4 m4/ltdl.m4 m4/ltsugar.m4
|
1997-04-02 02:29:23 +08:00
|
|
|
|
|
|
|
# The standalone libtool script, and the libtool distributor.
|
|
|
|
bin_SCRIPTS = libtool libtoolize
|
|
|
|
|
2003-10-21 23:03:57 +08:00
|
|
|
config_status = $(top_builddir)/config.status
|
|
|
|
|
2003-11-26 21:36:31 +08:00
|
|
|
libtool: config/ltmain.sh $(top_builddir)/config.status
|
2003-11-18 01:20:09 +08:00
|
|
|
CONFIG_FILES= CONFIG_HEADERS= CONFIG_COMMANDS=$@ $(SHELL) $(config_status)
|
2000-09-17 08:44:49 +08:00
|
|
|
chmod +x $@
|
2000-09-07 08:34:07 +08:00
|
|
|
|
2000-09-17 08:44:49 +08:00
|
|
|
libtoolize: $(srcdir)/libtoolize.in $(top_builddir)/config.status
|
2003-10-21 23:03:57 +08:00
|
|
|
CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_COMMANDS= $(SHELL) $(config_status)
|
2000-09-17 08:44:49 +08:00
|
|
|
chmod +x $@
|
|
|
|
|
2003-11-26 23:36:08 +08:00
|
|
|
# Make sure config.status is regenerated when the version timestamp changes
|
2003-11-27 02:06:52 +08:00
|
|
|
MKSTAMP = $(SHELL) $(top_srcdir)/config/mkstamp
|
2003-11-26 23:36:08 +08:00
|
|
|
$(config_status): stamp-vcl
|
|
|
|
stamp-vcl: vcl.tmp $(top_srcdir)/ChangeLog
|
2003-11-26 21:36:31 +08:00
|
|
|
vcl.tmp:
|
2003-11-27 02:06:52 +08:00
|
|
|
@dir=.; test -f $$dir/stamp-vcl || dir=$(srcdir); \
|
|
|
|
set `$(MKSTAMP) < $(top_srcdir)/ChangeLog`; \
|
|
|
|
echo "$$1" > vcl.tmp; \
|
|
|
|
cmp -s vcl.tmp $$dir/stamp-vcl \
|
|
|
|
## If mkstamp does not match $(srcdir)/stamp-vcl, we still put the new one
|
|
|
|
## in the current dir, incase $(srcdir) is not writable. The dir selection
|
|
|
|
## at the top of this rule takes care of prefering the right one on
|
|
|
|
## subsequent runs.
|
|
|
|
|| (echo "Updating stamp-vcl"; cp vcl.tmp ./stamp-vcl)
|
2003-11-26 21:36:31 +08:00
|
|
|
-@rm -f vcl.tmp
|
2003-11-26 00:41:44 +08:00
|
|
|
|
* configure.in (AC_CONFIG_DIRS): configure only libltdl, and then,
only if --enable-ltdl-install
(CONF_SUBDIRS): list directories that are configured on demand,
but that must be included in the distribution
(ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS
* Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and
readme-alpha, to handle README-alpha automatically
(EXTRA_DIST): removed README-alpha
(BUILD_SUBDIRS): subdirectories that are always built
(SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL
(DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure
(all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from
configure, and libtool, so that it is built before subdirs
(configure-subdirs): new target
(configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST),
from configure
(@DIST_MAKEFILE_LIST@): create subdir if needed, then run
configure.
On-demand configuration of subdirs at distribution time was
suggested by Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
1999-01-13 18:41:07 +08:00
|
|
|
.PHONY: configure-subdirs
|
|
|
|
configure-subdirs distdir: $(DIST_MAKEFILE_LIST)
|
|
|
|
@DIST_MAKEFILE_LIST@:
|
1999-01-14 00:08:28 +08:00
|
|
|
dir=`echo $@ | sed 's,^[^/]*$$,.,;s,/[^/]*$$,,'`; \
|
* configure.in (AC_CONFIG_DIRS): configure only libltdl, and then,
only if --enable-ltdl-install
(CONF_SUBDIRS): list directories that are configured on demand,
but that must be included in the distribution
(ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS
* Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and
readme-alpha, to handle README-alpha automatically
(EXTRA_DIST): removed README-alpha
(BUILD_SUBDIRS): subdirectories that are always built
(SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL
(DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure
(all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from
configure, and libtool, so that it is built before subdirs
(configure-subdirs): new target
(configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST),
from configure
(@DIST_MAKEFILE_LIST@): create subdir if needed, then run
configure.
On-demand configuration of subdirs at distribution time was
suggested by Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
1999-01-13 18:41:07 +08:00
|
|
|
test -d $$dir || mkdir $$dir || exit 1; \
|
1999-01-21 06:12:51 +08:00
|
|
|
abs_srcdir=`cd $(top_srcdir) && pwd`; \
|
1999-01-15 17:21:04 +08:00
|
|
|
(cd $$dir && $$abs_srcdir/$$dir/configure) || exit 1
|
* configure.in (AC_CONFIG_DIRS): configure only libltdl, and then,
only if --enable-ltdl-install
(CONF_SUBDIRS): list directories that are configured on demand,
but that must be included in the distribution
(ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS
* Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and
readme-alpha, to handle README-alpha automatically
(EXTRA_DIST): removed README-alpha
(BUILD_SUBDIRS): subdirectories that are always built
(SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL
(DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure
(all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from
configure, and libtool, so that it is built before subdirs
(configure-subdirs): new target
(configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST),
from configure
(@DIST_MAKEFILE_LIST@): create subdir if needed, then run
configure.
On-demand configuration of subdirs at distribution time was
suggested by Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
1999-01-13 18:41:07 +08:00
|
|
|
|
2003-11-07 23:11:51 +08:00
|
|
|
install-data-local:
|
2004-01-08 18:34:52 +08:00
|
|
|
## Don't install over the top of an old pkgdatadir
|
2003-11-07 23:11:51 +08:00
|
|
|
-rm -rf $(DESTDIR)$(pkgdatadir)
|
2004-01-08 18:34:52 +08:00
|
|
|
## Remove old macro definitions
|
|
|
|
-rm -rf $(DESTDIR)$(aclocaldir)/ltdl.m4
|
|
|
|
-rm -rf $(DESTDIR)$(aclocaldir)/libtool.m4
|
2003-11-07 23:11:51 +08:00
|
|
|
|
1999-03-10 06:57:26 +08:00
|
|
|
# Create and install libltdl
|
|
|
|
install-data-hook:
|
1999-05-22 20:50:00 +08:00
|
|
|
cd libltdl && $(MAKE) local-install-files
|
1999-01-18 21:16:55 +08:00
|
|
|
|
1999-04-25 17:07:02 +08:00
|
|
|
# Uninstall libltdl
|
|
|
|
uninstall-local:
|
1999-04-25 17:08:09 +08:00
|
|
|
-rm -rf $(DESTDIR)$(pkgdatadir)/libltdl
|
1999-04-25 17:07:02 +08:00
|
|
|
|
1998-12-09 02:36:31 +08:00
|
|
|
|
2003-11-22 18:03:13 +08:00
|
|
|
## ---------------------------------------------------------------- ##
|
|
|
|
## Everything past here is useful to the maintainer, but probably ##
|
|
|
|
## not to anybody else (inspiration from automake/Makefile.am). ##
|
|
|
|
## ---------------------------------------------------------------- ##
|
|
|
|
|
|
|
|
CHECK_LASTRELEASE = if test -z "$(LASTRELEASE)"; \
|
|
|
|
then echo "LASTRELEASE is not set"; exit 1; fi
|
|
|
|
|
|
|
|
.PHONY: cvs-release
|
|
|
|
cvs-release: version-check prev-tarball cvs-news fetch cvs-dist cvs-diff xdelta
|
|
|
|
@$(CHECK_LASTRELEASE); tarname="$(PACKAGE)-$(VERSION).tar.gz"; \
|
|
|
|
diffname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
|
|
|
|
xdeltaname="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
|
|
|
|
echo " *** Upload $$tarname, $$tarname.sig,";\
|
|
|
|
echo " *** $$tarname.directive.asc, $$diffname,"; \
|
|
|
|
echo " *** $$diffname.sig, $$diffname.directive.asc,"; \
|
|
|
|
echo " *** $$xdeltaname, $$xdeltaname.sig and";\
|
|
|
|
echo " *** $$xdeltaname.directive.asc to either";\
|
|
|
|
echo " *** /incoming/alpha or /incoming/ftp on ftp-upload.gnu.org.";
|
|
|
|
|
|
|
|
.PHONY: version-check
|
|
|
|
version-check:
|
|
|
|
@case $(VERSION) in \
|
|
|
|
*[acegikmoqsuwy]) \
|
|
|
|
echo "Version \`$(VERSION)' is not a releasable version, please read:"; \
|
|
|
|
echo " http://www.gnu.org/software/libtool/contribute.html"; \
|
|
|
|
exit 1; \
|
|
|
|
;; \
|
|
|
|
esac
|
2003-11-13 02:37:26 +08:00
|
|
|
|
2003-11-22 18:03:13 +08:00
|
|
|
.PHONY: prev-tarball
|
|
|
|
prev-tarball:
|
|
|
|
## Make sure we have the previous release tarball in the tree.
|
|
|
|
@$(CHECK_LASTRELEASE); ofile="$(PACKAGE)-$(LASTRELEASE).tar.gz"; \
|
|
|
|
if test -f $$ofile; then :; \
|
|
|
|
else echo "Cannot make xdelta without $$ofile"; exit 1; fi
|
|
|
|
|
|
|
|
# TSDEPS will be defined to TSDEPS_DIST at `make dist' time
|
|
|
|
TSDEPS =
|
|
|
|
TSDEPS_DIST = ChangeLog m4/libtool.m4
|
|
|
|
CVS = cvs # set it to `:' to avoid CVS operations
|
|
|
|
|
|
|
|
.PHONY: timestamps update-timestamps
|
|
|
|
timestamps: update-timestamps
|
|
|
|
update-timestamps:
|
|
|
|
@if (cd $(srcdir) && test -d CVS && \
|
|
|
|
$(CVS) -n update $(TSDEPS_DIST) | grep '^M'); then \
|
|
|
|
echo "Cannot make cvs-dist before commit"; exit 1; else :; fi
|
2003-11-13 02:37:26 +08:00
|
|
|
|
2003-11-22 18:03:13 +08:00
|
|
|
|
|
|
|
.PHONY: cvs-news
|
|
|
|
cvs-news: timestamps
|
2003-11-13 02:37:26 +08:00
|
|
|
## Make sure the NEWS file is up-to-date:
|
|
|
|
@if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" >/dev/null; \
|
|
|
|
then :; \
|
|
|
|
else \
|
1998-12-09 02:36:31 +08:00
|
|
|
echo "NEWS not updated; not releasing" 1>&2; \
|
2003-11-13 02:37:26 +08:00
|
|
|
exit 1; \
|
1998-12-09 02:36:31 +08:00
|
|
|
fi
|
2003-11-22 18:03:13 +08:00
|
|
|
|
|
|
|
## Program to use to fetch files.
|
|
|
|
WGET = wget
|
|
|
|
WGETSGO = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
|
|
|
|
|
|
|
|
## Files that we fetch and which we compare against.
|
|
|
|
## FIXME should be a lot more here
|
|
|
|
FETCHFILES = \
|
|
|
|
./INSTALL \
|
|
|
|
config/config.guess \
|
|
|
|
libltdl/config.guess \
|
|
|
|
config/config.sub \
|
|
|
|
libltdl/config.sub \
|
|
|
|
config/texinfo.tex
|
|
|
|
|
|
|
|
## Fetch the latest versions of files we care about.
|
|
|
|
.PHONY: fetch
|
|
|
|
fetch:
|
|
|
|
rm -rf Fetchdir > /dev/null 2>&1
|
|
|
|
mkdir Fetchdir
|
|
|
|
## If a get fails then that is a problem.
|
|
|
|
(cd Fetchdir && \
|
|
|
|
$(WGETSGO)/autoconf/autoconf/INSTALL; \
|
|
|
|
$(WGETSGO)/config/config/config.guess; \
|
|
|
|
$(WGETSGO)/config/config/config.sub; \
|
|
|
|
$(WGETSGO)/texinfo/texinfo/doc/texinfo.tex )
|
|
|
|
## Don't exit after test because we want to give as many errors as
|
|
|
|
## possible.
|
|
|
|
@stat=0; for file in $(FETCHFILES); do \
|
|
|
|
fetchedfile=Fetchdir/`echo $$file | sed 's,.*/,,g'`; \
|
|
|
|
if diff -u $(srcdir)/$$file $$fetchedfile \
|
|
|
|
>>Fetchdir/update.patch 2>/dev/null; then :; \
|
|
|
|
else \
|
|
|
|
stat=1; \
|
|
|
|
echo "Updating $(srcdir)/$$file..."; \
|
|
|
|
cp $$fetchedfile $(srcdir)/$$file; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
test $$stat = 1 && \
|
|
|
|
echo "See Fetchdir/update.patch for a log of the changes."; \
|
|
|
|
exit $$stat
|
|
|
|
|
|
|
|
|
|
|
|
GPG = gpg # set it to `:' to avoid gpg operations
|
|
|
|
|
|
|
|
.PHONY: cvs-dist
|
|
|
|
cvs-dist: cvs-news
|
2003-11-13 02:37:26 +08:00
|
|
|
## Build the distribution:
|
|
|
|
$(MAKE) distcheck
|
|
|
|
## Finally, if everything was successful, commit the last changes and tag
|
|
|
|
## the release in the repository:
|
|
|
|
cd $(srcdir) \
|
|
|
|
&& $(SHELL) ./commit \
|
|
|
|
&& $(CVS) -q tag -c `echo "Release-$(VERSION)" | sed 's/\./-/g'`
|
|
|
|
## We do want the timestamped version numbers from the CVS keywords in
|
|
|
|
## ChangeLog to be correct, so we must rebuild the release tarball after
|
|
|
|
## a successfull commit, and then generate the signatures needed for
|
|
|
|
## FSF ftp-upload:
|
|
|
|
ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
|
|
|
|
$(MAKE) dist \
|
|
|
|
&& $(GPG) --detach-sign $$ofile \
|
|
|
|
&& echo "directory: libtool" > $$ofile.directive \
|
|
|
|
&& $(GPG) --clearsign $$ofile.directive \
|
|
|
|
&& rm -f $$ofile.directive
|
1998-12-09 02:36:31 +08:00
|
|
|
|
2003-11-22 18:03:13 +08:00
|
|
|
.PHONY: cvs-diff
|
1998-12-09 02:36:31 +08:00
|
|
|
cvs-diff:
|
2003-11-13 02:37:26 +08:00
|
|
|
## Figure out which cvs tags we are diffing, and if the diff works we
|
|
|
|
## compress it and then generate the signatures needed for FSF ftp-upload:
|
1998-12-16 14:22:02 +08:00
|
|
|
thisver=`echo "release-$(VERSION)" | sed 's/\./-/g'`; \
|
2003-11-22 18:03:13 +08:00
|
|
|
$(CHECK_LASTRELEASE); \
|
|
|
|
prevver=release-`echo $(LASTRELEASE) | sed 's/\./-/g'`; \
|
|
|
|
ofile="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
|
1999-04-06 05:21:49 +08:00
|
|
|
$(CVS) -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
|
2003-11-22 18:03:13 +08:00
|
|
|
| GZIP=$(GZIP_ENV) gzip -c > $$ofile \
|
2003-11-13 02:37:26 +08:00
|
|
|
&& $(GPG) --detach-sign $$ofile \
|
|
|
|
&& echo "directory: libtool" > $$ofile.directive \
|
|
|
|
&& $(GPG) --clearsign $$ofile.directive \
|
|
|
|
&& rm -f $$ofile.directive
|
|
|
|
|
2003-11-22 18:03:13 +08:00
|
|
|
XDELTA = xdelta
|
|
|
|
XDELTA_OPTIONS = --pristine -9
|
|
|
|
|
|
|
|
.PHONY: xdelta
|
|
|
|
xdelta: prev-tarball
|
2003-11-13 02:37:26 +08:00
|
|
|
## Make sure xdelta exists;
|
|
|
|
@if ($(XDELTA) --version 2>&1 | grep version)>/dev/null 2>/dev/null; \
|
|
|
|
then :;\
|
|
|
|
else \
|
|
|
|
echo "Get xdelta from http://sourceforge.net/projects/xdelta."; \
|
|
|
|
exit 1; \
|
|
|
|
fi
|
|
|
|
## Generate the delta file (xdelta has wierd exit statuses, so we need to
|
|
|
|
## add some shell code to keep make happy), and then generate the signatures
|
|
|
|
## for FSF ftp-upload:
|
2003-11-22 18:03:13 +08:00
|
|
|
$(CHECK_LASTRELEASE); \
|
|
|
|
ofile="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
|
2003-11-13 02:37:26 +08:00
|
|
|
( test -z `$(XDELTA) delta $(XDELTA_OPTIONS) \
|
2003-11-22 18:03:13 +08:00
|
|
|
$(PACKAGE)-$(LASTRELEASE).tar.gz $(PACKAGE)-$(VERSION).tar.gz \
|
2003-11-13 02:37:26 +08:00
|
|
|
$$ofile 2>&1` \
|
|
|
|
&& : ) \
|
|
|
|
&& $(GPG) --detach-sign $$ofile \
|
|
|
|
&& echo "directory: libtool" > $$ofile.directive \
|
|
|
|
&& $(GPG) --clearsign $$ofile.directive \
|
|
|
|
&& rm -f $$ofile.directive
|