2004-08-30 04:36:32 +08:00
|
|
|
## Makefile.maint -- Makefile rules for libtool maintainers -*-Makefile-*-
|
2004-02-13 07:50:56 +08:00
|
|
|
##
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
## Copyright (C) 2004, 2005 Free Software Foundation
|
2004-02-13 07:50:56 +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
|
2005-04-22 18:10:31 +08:00
|
|
|
## the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
|
|
## Boston, MA 02110-1301, USA.
|
2004-02-13 07:50:56 +08:00
|
|
|
|
|
|
|
# Need various variables defined by configure, a lot easier to just
|
|
|
|
# include the Makefile than figure out a way to put them in here too
|
|
|
|
include Makefile
|
|
|
|
Makefile:
|
2004-08-30 04:36:32 +08:00
|
|
|
@echo " *** Run maintainer rules from the build tree, with"
|
|
|
|
@echo " *** \`make -f../Makefile.maint' for example, where"
|
|
|
|
@echo " *** \`../' is the relative path back to the directory"
|
|
|
|
@echo " *** that contains the \`Makefile.maint'. Alternatively,"
|
2004-10-22 21:02:53 +08:00
|
|
|
@echo " *** run \`./configure' in the source tree for an in"
|
2004-08-30 04:36:32 +08:00
|
|
|
@echo " *** tree build."
|
2004-02-13 07:50:56 +08:00
|
|
|
@exit 1
|
|
|
|
|
2004-02-23 00:12:15 +08:00
|
|
|
TEXI2HTML = texi2html
|
2004-02-13 07:50:56 +08:00
|
|
|
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
$(srcdir)/commit: $(srcdir)/$(auxdir)/mailnotify clcommit.m4sh
|
2004-10-09 05:56:10 +08:00
|
|
|
$(timestamp); \
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
cd $(srcdir); \
|
2004-10-09 05:56:10 +08:00
|
|
|
rm -f commit commit.in commit.tmp; \
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
$(M4SH) -B $(auxdir) clcommit.m4sh > commit.in; \
|
2004-10-09 05:56:10 +08:00
|
|
|
input="clcommit.m4sh"; \
|
|
|
|
$(edit) -e "s,@TIMESTAMP\@,$$TIMESTAMP,g" commit.in > commit.tmp; \
|
|
|
|
chmod a+x commit.tmp; \
|
|
|
|
chmod a-w commit.tmp; \
|
|
|
|
mv -f commit.tmp commit; \
|
|
|
|
rm -f commit.in
|
|
|
|
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
$(srcdir)/$(auxdir)/mailnotify: $(auxdir)/mailnotify.m4sh
|
2004-10-09 05:56:10 +08:00
|
|
|
$(timestamp); \
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
cd $(srcdir)/$(auxdir); \
|
2004-10-09 05:56:10 +08:00
|
|
|
rm -f mailnotify mailnotify.in mailnotify.tmp; \
|
|
|
|
$(M4SH) -B . mailnotify.m4sh > mailnotify.in; \
|
|
|
|
input="mailnotify.m4sh"; \
|
|
|
|
$(edit) -e "s,@TIMESTAMP\@,$$TIMESTAMP,g" \
|
|
|
|
mailnotify.in > mailnotify.tmp; \
|
|
|
|
chmod a+x mailnotify.tmp; \
|
|
|
|
chmod a-w mailnotify.tmp; \
|
|
|
|
mv -f mailnotify.tmp mailnotify; \
|
|
|
|
rm -f mailnotify.in
|
|
|
|
|
2004-02-13 07:50:56 +08:00
|
|
|
.PHONY: cvs-release
|
2004-02-23 00:12:15 +08:00
|
|
|
cvs-release: version-check prev-tarball cvs-news fetch cvs-commit cvs-dist deltas web-manual
|
2004-02-13 07:50:56 +08:00
|
|
|
@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";\
|
2004-02-23 00:12:15 +08:00
|
|
|
echo " *** $$xdeltaname.directive.asc to either"
|
|
|
|
echo " *** /incoming/alpha or /incoming/ftp on ftp-upload.gnu.org."
|
|
|
|
echo " *** You might need to upload manual.html to webcvs/libtool."
|
2004-02-13 07:50:56 +08:00
|
|
|
|
|
|
|
.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
|
|
|
|
|
|
|
|
.PHONY: prev-tarball
|
|
|
|
prev-tarball:
|
|
|
|
## Make sure we have the previous release tarball in the tree.
|
|
|
|
@if test -z "$(LASTRELEASE)"; \
|
|
|
|
then echo "LASTRELEASE is not set"; exit 1; fi
|
|
|
|
@ofile="$(PACKAGE)-$(LASTRELEASE).tar.gz"; \
|
|
|
|
if test -f $$ofile; then :; \
|
|
|
|
else echo "Cannot make deltas 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
|
|
|
|
|
|
|
|
|
|
|
|
.PHONY: cvs-news
|
|
|
|
cvs-news:
|
|
|
|
## Make sure the NEWS file is up-to-date:
|
|
|
|
@if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" >/dev/null; \
|
|
|
|
then :; \
|
|
|
|
else \
|
|
|
|
echo "NEWS not updated; not releasing" 1>&2; \
|
|
|
|
exit 1; \
|
|
|
|
fi
|
|
|
|
|
|
|
|
## 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 \
|
Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 09:49:37 +08:00
|
|
|
$(auxdir)/install-sh \
|
|
|
|
$(auxdir)/config.guess \
|
|
|
|
$(auxdir)/config.sub \
|
|
|
|
$(auxdir)/texinfo.tex
|
2004-02-13 07:50:56 +08:00
|
|
|
|
|
|
|
## 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; \
|
2004-12-20 21:08:35 +08:00
|
|
|
$(WGETSGO)/automake/automake/lib/install-sh; \
|
2004-02-13 07:50:56 +08:00
|
|
|
$(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-commit
|
|
|
|
cvs-commit: cvs-news
|
|
|
|
cd $(srcdir) && $(SHELL) ./commit
|
|
|
|
|
|
|
|
.PHONY: cvs-dist
|
|
|
|
cvs-dist: cvs-news timestamps
|
|
|
|
## Build the distribution:
|
|
|
|
$(MAKE) distcheck
|
|
|
|
## Finally, if everything was successful, tag the release
|
|
|
|
cd $(srcdir) \
|
2004-08-30 05:42:15 +08:00
|
|
|
&& $(CVS) -q tag `echo "release-$(VERSION)" | sed 's/\./-/g'`
|
2004-02-13 07:50:56 +08:00
|
|
|
## Generate signatures and directives for FSF ftp-upload:
|
2004-10-24 23:08:53 +08:00
|
|
|
for suffix in .gz .bz2; do \
|
|
|
|
ofile="$(PACKAGE)-$(VERSION).tar.$$suffix"; \
|
|
|
|
$(GPG) --detach-sign $$ofile \
|
|
|
|
&& echo "directory: libtool" > $$ofile.directive \
|
|
|
|
&& $(GPG) --clearsign $$ofile.directive \
|
|
|
|
&& rm -f $$ofile.directive; \
|
|
|
|
done
|
2004-02-13 07:50:56 +08:00
|
|
|
|
|
|
|
.PHONY: new-tarball
|
|
|
|
new-tarball:
|
|
|
|
## Make sure we have the new release tarball in the tree.
|
|
|
|
@ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
|
|
|
|
if test -f $$ofile; then :; \
|
|
|
|
else echo "Cannot make deltas without $$ofile"; exit 1; fi
|
|
|
|
|
|
|
|
.PHONY: got-xdelta
|
|
|
|
got-xdelta:
|
|
|
|
## 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
|
|
|
|
|
|
|
|
.PHONY: deltas
|
|
|
|
deltas: delta-diff delta-xdelta
|
|
|
|
|
|
|
|
DIFF = diff
|
|
|
|
DIFF_OPTIONS = -ruNp
|
|
|
|
|
|
|
|
.PHONY: delta-diff
|
|
|
|
delta-diff: prev-tarball new-tarball
|
|
|
|
## Unpack the tarballs somewhere to diff them
|
|
|
|
rm -rf delta-diff
|
|
|
|
mkdir delta-diff
|
|
|
|
|
|
|
|
ofile="../$(PACKAGE)-$(LASTRELEASE)-$(VERSION).diff.gz"; \
|
|
|
|
cd delta-diff \
|
|
|
|
&& tar xzf "../$(PACKAGE)-$(LASTRELEASE).tar.gz" \
|
|
|
|
&& tar xzf "../$(PACKAGE)-$(VERSION).tar.gz" \
|
|
|
|
&& $(DIFF) $(DIFF_OPTIONS) \
|
|
|
|
$(PACKAGE)-$(LASTRELEASE) $(PACKAGE)-$(VERSION) \
|
|
|
|
| GZIP=$(GZIP_ENV) gzip -c > $$ofile \
|
|
|
|
&& $(GPG) --detach-sign $$ofile \
|
|
|
|
&& echo "directory: libtool" > $$ofile.directive \
|
|
|
|
&& $(GPG) --clearsign $$ofile.directive \
|
|
|
|
&& rm -f $$ofile.directive
|
|
|
|
|
|
|
|
rm -rf delta-diff
|
|
|
|
|
|
|
|
XDELTA = xdelta
|
2004-04-13 08:01:48 +08:00
|
|
|
XDELTA_OPTIONS = -9
|
2004-02-13 07:50:56 +08:00
|
|
|
|
|
|
|
.PHONY: delta-xdelta
|
|
|
|
delta-xdelta: prev-tarball new-tarball got-xdelta
|
|
|
|
## 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:
|
|
|
|
ofile="$(PACKAGE)-$(LASTRELEASE)-$(VERSION).xdelta"; \
|
|
|
|
( test -z `$(XDELTA) delta $(XDELTA_OPTIONS) \
|
|
|
|
$(PACKAGE)-$(LASTRELEASE).tar.gz $(PACKAGE)-$(VERSION).tar.gz \
|
|
|
|
$$ofile 2>&1` \
|
|
|
|
&& : ) \
|
|
|
|
&& $(GPG) --detach-sign $$ofile \
|
|
|
|
&& echo "directory: libtool" > $$ofile.directive \
|
|
|
|
&& $(GPG) --clearsign $$ofile.directive \
|
|
|
|
&& rm -f $$ofile.directive
|
2004-02-23 00:12:15 +08:00
|
|
|
|
|
|
|
.PHONY: web-manual
|
|
|
|
web-manual:
|
2005-08-23 21:56:47 +08:00
|
|
|
@rm -f doc/manual.texi manual.html
|
|
|
|
@$(LN_S) $(abs_srcdir)/doc/libtool.texi doc/manual.texi
|
|
|
|
$(TEXI2HTML) -I doc -I $(srcdir)/doc -monolithic -number -verbose doc/manual.texi
|
|
|
|
@test -f manual.html || mv doc/manual.html manual.html
|
2004-02-23 00:12:15 +08:00
|
|
|
@rm -f doc/manual.texi
|