| ## Makefile.am -- Process this file with automake to produce Makefile.in |
| ## |
| ## Copyright (C) 2003-2019, 2021-2025 Free Software Foundation, Inc. |
| ## Written by Gary V. Vaughan, 2003 |
| ## |
| ## This file is part of GNU Libtool. |
| ## |
| ## GNU Libtool 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. |
| ## |
| ## GNU Libtool 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 GNU Libtool. If not, see <https://www.gnu.org/licenses/>. |
| ##### |
| |
| ACLOCAL_AMFLAGS = -I m4 |
| |
| AM_CPPFLAGS = |
| AM_LDFLAGS = |
| |
| SUBDIRS = . gnulib-tests |
| DIST_SUBDIRS = $(SUBDIRS) |
| EXTRA_DIST = |
| |
| BUILT_SOURCES = libtool libtoolize libtool-next-version |
| |
| CLEANFILES = |
| MOSTLYCLEANFILES = |
| DISTCLEANFILES = |
| MAINTAINERCLEANFILES = |
| |
| include_HEADERS = |
| noinst_LTLIBRARIES = |
| lib_LTLIBRARIES = |
| EXTRA_LTLIBRARIES = |
| |
| # Using 'cd' in backquotes may print the directory name, use this instead: |
| lt__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd |
| |
| git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version' |
| rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'` |
| |
| |
| # ---------- # |
| # Bootstrap. # |
| # ---------- # |
| |
| SCRIPT_ENV = GREP='$(GREP)' SED='$(SED)' |
| |
| build_scripts = $(srcdir)/$(aux_dir)/announce-gen \ |
| $(srcdir)/$(aux_dir)/do-release-commit-and-tag \ |
| $(srcdir)/$(aux_dir)/gendocs.sh \ |
| $(srcdir)/$(aux_dir)/git-version-gen \ |
| $(srcdir)/$(aux_dir)/gnu-web-doc-update \ |
| $(srcdir)/$(aux_dir)/gnupload \ |
| $(srcdir)/$(aux_dir)/useless-if-before-free \ |
| $(srcdir)/$(aux_dir)/vc-list-files |
| |
| EXTRA_DIST += bootstrap bootstrap.conf $(build_scripts) cfg.mk maint.mk \ |
| GNUmakefile |
| CLEANFILES += libtool libtoolize libtool-next-version |
| |
| ## If a file is named several times below, and especially if it |
| ## is a distributed file created during Libtool bootstrap, we |
| ## put it in a variable in accordance with the DRY principle. |
| ## Use '$(srcdir)' for the benefit of non-GNU makes: referring |
| ## to them by their variable makes sure they appear as targets |
| ## and dependencies with '$(srcdir)' consistently. |
| configure_ac = $(srcdir)/configure.ac |
| config_status = $(top_builddir)/config.status |
| extract_trace = $(srcdir)/$(aux_dir)/extract-trace |
| funclib_sh = $(srcdir)/$(aux_dir)/funclib.sh |
| inline_source = $(srcdir)/$(aux_dir)/inline-source |
| libtoolize_in = $(srcdir)/libtoolize.in |
| libtoolnextv_in = $(srcdir)/libtool-next-version.in |
| ltmain_sh = $(srcdir)/$(aux_dir)/ltmain.sh |
| ltmain_in = $(srcdir)/$(aux_dir)/ltmain.in |
| libtool_m4 = $(srcdir)/$(macro_dir)/libtool.m4 |
| ltversion_in = $(srcdir)/$(macro_dir)/ltversion.in |
| ltversion_m4 = $(srcdir)/$(macro_dir)/ltversion.m4 |
| no_bogus_macros = $(srcdir)/$(aux_dir)/no-bogus-m4-defines |
| options_parser = $(srcdir)/$(aux_dir)/options-parser |
| u2d_copyright = $(srcdir)/$(aux_dir)/update-copyright |
| |
| EXTRA_DIST += $(extract_trace) $(funclib_sh) $(inline_source) \ |
| $(libtoolize_in) $(libtoolnextv_in) \ |
| $(ltmain_in) $(ltmain_sh) \ |
| $(ltversion_in) $(ltversion_m4) $(no_bogus_macros) \ |
| $(options_parser) $(u2d_copyright) |
| |
| ## These are the replacements that need to be made at bootstrap time, |
| ## because they must be static in distributed files, and not accidentally |
| ## changed by configure running on the build machine. |
| bootstrap_edit = $(SED) \ |
| -e 's|@MACRO_VERSION\@|$(VERSION)|g' \ |
| -e "s|@MACRO_REVISION\@|$$revision|g" \ |
| -e "s|@MACRO_SERIAL\@|$$serial|g" \ |
| -e 's|@PACKAGE\@|$(PACKAGE)|g' \ |
| -e 's|@PACKAGE_BUGREPORT\@|$(PACKAGE_BUGREPORT)|g' \ |
| -e 's|@PACKAGE_URL\@|$(PACKAGE_URL)|g' \ |
| -e 's|@PACKAGE_NAME\@|$(PACKAGE_NAME)|g' \ |
| -e "s|@package_revision\@|$$revision|g" \ |
| -e 's|@PACKAGE_STRING\@|$(PACKAGE_NAME) $(VERSION)|g' \ |
| -e 's|@PACKAGE_TARNAME\@|$(PACKAGE)|g' \ |
| -e 's|@PACKAGE_VERSION\@|$(VERSION)|g' \ |
| -e 's|@VERSION\@|$(VERSION)|g' |
| |
| ## We build ltversion.m4 here, instead of from config.status, |
| ## because config.status is rerun each time one of configure's |
| ## dependencies change and ltversion.m4 happens to be a configure |
| ## dependency. configure and ltversion.m4 would be rebuilt in |
| ## a loop otherwise. |
| ## We used to do this with a 'stamp-vcl' file, but non-gmake builds |
| ## would rerun configure on every invocation, so now we manually |
| ## check the version numbers from the build rule when necessary. |
| $(ltversion_m4): $(ltversion_in) $(dotversion) |
| @$(rebuild); \ |
| if test -f '$@'; then \ |
| eval `'$(SED)' -n '/^macro_revision=/p' '$@'`; \ |
| test "x$$macro_revision" = "x$$revision" && rebuild=false; \ |
| fi; \ |
| for prereq in $?; do \ |
| case $$prereq in *.version);; *) rebuild=:;; esac; \ |
| done; \ |
| if $$rebuild; then \ |
| rm -f '$@'; \ |
| if test -d '$(srcdir)/.git' && git --version >/dev/null 2>&1; then \ |
| $(git_commit_count) > '$(srcdir)/.serial'; \ |
| fi; \ |
| serial=`cat '$(srcdir)/.serial'`; \ |
| if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ |
| then echo " GEN " $@; \ |
| else echo $(bootstrap_edit) "'$(ltversion_in)' > '$@'"; fi; \ |
| $(bootstrap_edit) '$(ltversion_in)' > '$@'; \ |
| chmod a-w '$@'; \ |
| fi |
| |
| ## And for similar reasons, ltmain.sh can't be built from config.status. |
| ## We used to do this with a 'stamp-vcl' file, but non-gmake builds |
| ## would rerun configure on every invocation, so now we manually |
| ## check the version numbers from the build rule when necessary. |
| ## !WARNING! If you edit this rule to change the contents of ltmain.sh, |
| ## you must 'touch $(aux_dir)/ltmain.in' from the |
| ## shell if you need ltmain.sh to be regenerated. Ideally, we |
| ## should make this rule depend on Makefile but that will break |
| ## distcheck (at least) by rebuilding ltmain.sh in the source |
| ## tree whenever config.status regenerates the Makefile. |
| $(ltmain_sh): $(ltmain_in) $(dotversion) |
| @$(rebuild); \ |
| if test -f '$@'; then \ |
| eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ |
| test "x$$package_revision" = "x$$revision" && rebuild=false; \ |
| fi; \ |
| for prereq in $?; do \ |
| case $$prereq in *.version);; *) rebuild=:;; esac; \ |
| done; \ |
| if $$rebuild; then \ |
| rm -f '$@'; \ |
| if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ |
| then echo " GEN " $@; \ |
| else echo "$(inline_source) '$(ltmain_in)' |" $(bootstrap_edit) "> '$@'"; fi; \ |
| $(SCRIPT_ENV) '$(inline_source)' '$(ltmain_in)' | $(bootstrap_edit) > '$@'; \ |
| chmod a-w '$@'; \ |
| fi |
| |
| lt_Makefile_am = $(srcdir)/$(ltdl_dir)/Makefile.am |
| lt_Makefile_in = $(srcdir)/$(ltdl_dir)/Makefile.in |
| ltdl_mk = $(srcdir)/$(ltdl_dir)/ltdl.mk |
| |
| $(lt_Makefile_am): $(ltdl_mk) |
| $(AM_V_at)rm -f '$@' |
| $(AM_V_GEN)( '$(SED)' -n '1,/^.. DO NOT REMOVE THIS LINE -- /p' \ |
| '$(ltdl_mk)'; \ |
| { echo 'ACLOCAL_AMFLAGS = -I ../m4'; \ |
| echo 'AUTOMAKE_OPTIONS = foreign'; \ |
| echo 'AM_CPPFLAGS ='; \ |
| echo 'AM_LDFLAGS ='; \ |
| echo 'BUILT_SOURCES ='; \ |
| echo 'include_HEADERS ='; \ |
| echo 'noinst_LTLIBRARIES ='; \ |
| echo 'lib_LTLIBRARIES ='; \ |
| echo 'EXTRA_LTLIBRARIES ='; \ |
| echo 'EXTRA_DIST ='; \ |
| echo 'CLEANFILES ='; \ |
| echo 'MOSTLYCLEANFILES ='; \ |
| }; \ |
| '$(SED)' -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' \ |
| '$(ltdl_mk)' \ |
| |'$(SED)' -e 's|libltdl_||; s|libltdl/||; s|: libltdl/|: |' \ |
| -e '/^[ ]*-I\$$(srcdir)\/libltdl -Ilibltdl \\/d' \ |
| -e 's|\$$(libltdl_|$$(|' \ |
| ) |'$(SED)' -e '/^.. DO NOT REMOVE THIS LINE -- /d' \ |
| -e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with automake to produce Makefile.in,' > '$@' |
| $(AM_V_at)chmod a-w '$@' |
| |
| ## Document the make macros that are needed to build bootstrap-deps |
| ## dependencies when called from 'bootstrap' (developer's machine), |
| ## where the Makefile.am is fed to make in its raw format before |
| ## 'configure' has found the correct values (on the build machine). |
| bootstrap_files = \ |
| $(lt_Makefile_am) \ |
| $(ltmain_sh) \ |
| $(ltversion_m4) |
| |
| .PHONY: bootstrap-deps bootstrap-deps-prep |
| bootstrap-deps: bootstrap-deps-prep |
| $(MAKE) $(bootstrap_files) |
| |
| bootstrap-deps-prep: |
| ## The following variables are substituted by 'bootstrap-dep-preps' |
| @exit_cmd=:; \ |
| test -z '$(srcdir)' \ |
| && echo "ERROR: don't call $(MAKE) with srcdir unset." \ |
| && exit_cmd=exit; \ |
| test -z '$(PACKAGE)' \ |
| && echo "ERROR: don't call $(MAKE) with PACKAGE unset." \ |
| && exit_cmd=exit; \ |
| test -z '$(PACKAGE_BUGREPORT)' \ |
| && echo "ERROR: don't call $(MAKE) with PACKAGE_BUGREPORT unset." \ |
| && exit_cmd=exit; \ |
| test -z '$(PACKAGE_NAME)' \ |
| && echo "ERROR: don't call $(MAKE) with PACKAGE_NAME unset." \ |
| && exit_cmd=exit; \ |
| test -z '$(PACKAGE_URL)' \ |
| && echo "ERROR: don't call $(MAKE) with PACKAGE_URL unset." \ |
| && exit_cmd=exit; \ |
| test -z '$(SED)' \ |
| && echo "ERROR: don't call $(MAKE) with SED unset." \ |
| && exit_cmd=exit; \ |
| test -z '$(VERSION)' \ |
| && echo "ERROR: don't call $(MAKE) with VERSION unset." \ |
| && exit_cmd=exit; \ |
| $$exit_cmd 1 |
| $(AM_V_at)rm -f $(bootstrap_files) |
| |
| ## Unfortunately, all this bogeyness means that we have to manually |
| ## keep the generated files in libltdl up to date. |
| LTDL_BOOTSTRAP_DEPS = \ |
| $(stamp_mk) \ |
| $(lt_aclocal_m4) \ |
| $(lt_config_h_in) \ |
| $(lt_configure) |
| |
| all-local: $(LTDL_BOOTSTRAP_DEPS) |
| |
| |
| ## ---------------- ## |
| ## Libtool scripts. ## |
| ## ---------------- ## |
| |
| abs_aux_dir = `$(lt__cd) '$(srcdir)/$(aux_dir)' && pwd` |
| ltdl_ac_aux_dir = `$(SCRIPT_ENV) $(extract_trace) AC_CONFIG_AUX_DIR $(srcdir)/libltdl/configure.ac` |
| |
| configure_edit = $(bootstrap_edit) \ |
| -e '/^\. /s|@auxscriptsdir\@|'$(abs_aux_dir)'|g' \ |
| -e 's|@aclocaldir\@|$(aclocaldir)|g' \ |
| -e 's|@aux_dir\@|$(aux_dir)|g' \ |
| -e 's|@datadir\@|$(datadir)|g' \ |
| -e 's|@EGREP\@|$(EGREP)|g' \ |
| -e 's|@FGREP\@|$(FGREP)|g' \ |
| -e 's|@GREP\@|$(GREP)|g' \ |
| -e 's|@host_triplet\@|$(host_triplet)|g' \ |
| -e 's|@LN_S\@|$(LN_S)|g' \ |
| -e "s|@ltdl_ac_aux_dir\@|$(ltdl_ac_aux_dir)|g" \ |
| -e 's|@macro_dir\@|$(macro_dir)|g' \ |
| -e 's|@pkgauxdir\@|$(pkgauxdir)|g' \ |
| -e 's|@pkgaux_files\@|$(pkgaux_scripts) $(pkgaux_data_files)|g' \ |
| -e 's|@pkgaux_install_files\@|$(pkgaux_install_files)|g' \ |
| -e 's|@pkgaux_parent_files\@|$(pkgaux_parent_files)|g' \ |
| -e 's|@pkgdatadir\@|$(pkgdatadir)|g' \ |
| -e 's|@pkgltdl_files\@|$(pkgltdl_files)|g' \ |
| -e 's|@pkgmacro_files\@|$(pkgmacro_files)|g' \ |
| -e 's|@prefix\@|$(prefix)|g' \ |
| -e 's|@SED\@|$(SED)|g' \ |
| -e 's|@srcdir\@|$(srcdir)|g' |
| |
| # The libtool distributor and the standalone libtool script. |
| bin_SCRIPTS = libtool |
| # The "Update version info" wizard. |
| bin_SCRIPTS += libtool-next-version |
| |
| libtoolize: $(libtoolize_in) $(config_status) |
| $(AM_V_at)rm -f '$@' |
| $(AM_V_GEN)$(configure_edit) '$(libtoolize_in)' > '$@' |
| $(AM_V_at)chmod a+x '$@' |
| $(AM_V_at)chmod a-w '$@' |
| |
| libtool-next-version: $(libtoolnextv_in) $(config_status) |
| $(AM_V_at)rm -f '$@' |
| $(AM_V_GEN)$(bootstrap_edit) '$(libtoolnextv_in)' > '$@' |
| $(AM_V_at)chmod a+x '$@' |
| $(AM_V_at)chmod a-w '$@' |
| |
| # We used to do this with a 'stamp-vcl' file, but non-gmake builds |
| # would rerun configure on every invocation, so now we manually |
| # check the version numbers from the build rule when necessary. |
| libtool: $(ltmain_sh) $(config_status) $(dotversion) |
| @$(rebuild); \ |
| if test -f '$@'; then \ |
| eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ |
| test "$$package_revision" = "$$revision" && rebuild=false; \ |
| fi; \ |
| for prereq in $?; do \ |
| case $$prereq in *.version);; *) rebuild=:;; esac; \ |
| done; \ |
| if $$rebuild; then \ |
| if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ |
| then echo " GEN " $@; \ |
| else echo '$(SHELL) $(top_builddir)/config.status "$@"'; fi; \ |
| cd '$(top_builddir)' && '$(SHELL)' ./config.status '$@'; \ |
| fi |
| |
| |
| ## -------- ## |
| ## Libltdl. ## |
| ## -------- ## |
| |
| include libltdl/ltdl.mk |
| |
| lt_aclocal_m4 = $(srcdir)/$(ltdl_dir)/aclocal.m4 |
| lt_config_h_in = $(srcdir)/$(ltdl_dir)/config-h.in |
| lt_configure = $(srcdir)/$(ltdl_dir)/configure |
| lt_configure_ac = $(srcdir)/$(ltdl_dir)/configure.ac |
| stamp_mk = $(srcdir)/$(ltdl_dir)/stamp-mk |
| |
| lt_obsolete_m4 = $(srcdir)/$(macro_dir)/lt~obsolete.m4 |
| |
| EXTRA_DIST += $(lt_aclocal_m4) \ |
| $(lt_configure) \ |
| $(lt_configure_ac) \ |
| $(lt_config_h_in) \ |
| $(lt_Makefile_am) \ |
| $(lt_Makefile_in) \ |
| $(lt_obsolete_m4) \ |
| $(stamp_mk) |
| |
| $(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) $(lt_config_h_in) |
| $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile |
| |
| # Don't let unused scripts leak into the libltdl Makefile |
| $(stamp_mk): $(lt_Makefile_in) |
| $(AM_V_at)T='$(srcdir)/$(aux_dir)/Makefile.tmp'; \ |
| for p in $(srcdir)/$(aux_dir)/*; do \ |
| test -f "$$p" || continue; \ |
| f=`echo "$$p" | $(SED) 's|^$(srcdir)/$(aux_dir)/||'`; \ |
| case " $(pkgaux_scripts) ltmain.sh " in \ |
| *" $$f "*) ;; \ |
| *) '$(SED)' \ |
| -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"'\$$||' \ |
| -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"' ||' \ |
| -e '/^[ ]*\\$$/d' \ |
| '$(lt_Makefile_in)' > "$$T" \ |
| && mv -f "$$T" '$(lt_Makefile_in)';; \ |
| esac; \ |
| done |
| $(AM_V_GEN)echo stamp > '$@' |
| |
| lt_aclocal_m4_deps = \ |
| $(lt_obsolete_m4) \ |
| $(ltversion_m4) \ |
| $(libtool_m4) \ |
| $(srcdir)/$(macro_dir)/ltargz.m4 \ |
| $(srcdir)/$(macro_dir)/ltdl.m4 \ |
| $(srcdir)/$(macro_dir)/ltoptions.m4 \ |
| $(srcdir)/$(macro_dir)/ltsugar.m4 \ |
| $(srcdir)/$(macro_dir)/m4.m4 \ |
| $(srcdir)/$(ltdl_dir)/configure.ac |
| |
| lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps) |
| |
| $(lt_aclocal_m4): $(lt_aclocal_m4_deps) |
| $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4 |
| |
| $(lt_configure): $(lt_configure_deps) $(lt_config_h_in) |
| $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF) |
| |
| $(lt_config_h_in): $(lt_configure_deps) |
| $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOHEADER) |
| $(AM_V_at)touch '$@' |
| |
| |
| ## -------------- ## |
| ## Documentation. ## |
| ## -------------- ## |
| |
| doc_dir = $(srcdir)/doc |
| |
| libtool_1 = $(doc_dir)/libtool.1 |
| libtoolize_1 = $(doc_dir)/libtoolize.1 |
| libtoolnextv_1 = $(doc_dir)/libtool-next-version.1 |
| notes_texi = $(doc_dir)/notes.texi |
| notes_txt = $(doc_dir)/notes.txt |
| |
| EXTRA_DIST += $(doc_dir)/gendocs_template |
| |
| # A bug in automake 1.11.1 (at least) prevents us from using: |
| # |
| # info_TEXINFOS = $(doc_dir)/libtool.texi |
| # |
| # Producing the following error, even though srcdir is implicitly set: |
| # "cannot open < ./$(srcdir)/doc/libtool.texi: No such file or directory" |
| info_TEXINFOS = doc/libtool.texi |
| doc_libtool_TEXINFOS = $(doc_dir)/PLATFORMS $(doc_dir)/fdl.texi \ |
| $(notes_texi) |
| EXTRA_DIST += $(notes_txt) |
| ## Workaround for a texinfo bug described here: |
| ## http://thread.gmane.org/gmane.comp.tex.texinfo.bugs/3930 |
| DISTCLEANFILES += libtool.dvi |
| |
| all-local: $(notes_txt) |
| |
| $(notes_txt): $(notes_texi) |
| $(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \ |
| $(MAKEINFOFLAGS) -o '$@' '$(notes_texi)' |
| |
| dist_man1_MANS = $(libtool_1) $(libtoolize_1) $(libtoolnextv_1) |
| MAINTAINERCLEANFILES += $(dist_man1_MANS) |
| update_mans = \ |
| PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \ |
| $(HELP2MAN) --output='$@' |
| |
| # It's wrong to make distributed files (e.g. $(libtool_1)) rely on |
| # files created in the build tree, so instead we regenerate the |
| # manual pages if the sources for the build-tree files we want to |
| # run have changed. |
| $(libtool_1): $(ltmain_sh) |
| $(AM_V_GEN)$(update_mans) -n 'Provide generalized library-building support services' --help-option=--help-all libtool |
| $(libtoolize_1): $(libtoolize_in) |
| $(AM_V_GEN)$(update_mans) -n 'Prepare a package to use libtool' libtoolize |
| $(libtoolnextv_1): $(libtoolnextv_in) |
| $(AM_V_GEN)$(update_mans) -n 'Determines next version to use for a libtool library' libtool-next-version |
| |
| |
| |
| ## ------------- ## |
| ## Installation. ## |
| ## ------------- ## |
| |
| ltdldir = $(srcdir)/libltdl |
| pkgauxdir = $(pkgdatadir)/build-aux |
| |
| # The timestamps on these files must be preserved carefully so we install, |
| # uninstall and set executable with custom rules here. |
| pkgaux_parent_files = ltmain.sh |
| pkgaux_install_files = config.guess config.sub install-sh |
| pkgaux_data_files = $(pkgaux_parent_files) |
| |
| # Everything that gets picked up by aclocal is automatically distributed, |
| # this is the list of macro files we install on the user's system. |
| pkgmacro_files = libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 \ |
| ltversion.m4 lt~obsolete.m4 |
| |
| ## These are installed as a subdirectory of pkgdatadir so that |
| ## libtoolize --ltdl can find them later. Note that this list requires |
| ## specific order to avoid unnecessary re-autotooling after libtoolize run. |
| pkgltdl_files = COPYING.LIB \ |
| Makefile.am \ |
| README \ |
| configure.ac \ |
| aclocal.m4 \ |
| Makefile.in \ |
| config-h.in \ |
| configure \ |
| libltdl/lt__alloc.h \ |
| libltdl/lt__argz_.h \ |
| libltdl/lt__dirent.h \ |
| libltdl/lt__glibc.h \ |
| libltdl/lt__private.h \ |
| libltdl/lt__strl.h \ |
| libltdl/lt_dlloader.h \ |
| libltdl/lt_error.h \ |
| libltdl/lt_system.h \ |
| libltdl/slist.h \ |
| loaders/dld_link.c \ |
| loaders/dlopen.c \ |
| loaders/dyld.c \ |
| loaders/load_add_on.c \ |
| loaders/loadlibrary.c \ |
| loaders/preopen.c \ |
| loaders/shl_load.c \ |
| lt__alloc.c \ |
| lt__argz.c \ |
| lt__dirent.c \ |
| lt__strl.c \ |
| lt_dlloader.c \ |
| lt_error.c \ |
| ltdl.c \ |
| ltdl.h \ |
| ltdl.mk \ |
| slist.c |
| |
| install-data-local: $(lt_Makefile_in) install-scripts-local |
| @$(NORMAL_INSTALL) |
| ## Don't install over the top of an old pkgdatadir |
| -rm -rf '$(DESTDIR)$(pkgdatadir)'/* |
| ## First, put a copy of the libtool m4 macros in the aclocal dir |
| @list='$(pkgmacro_files)'; for p in $$list; do \ |
| d=`echo "$(DESTDIR)$(aclocaldir)/$$p" |$(SED) 's|[^/]*$$||'`; \ |
| test -d "$$d" || $(mkinstalldirs) "$$d"; \ |
| echo " $(INSTALL_DATA) '$(srcdir)/$(macro_dir)/$$p' '$(DESTDIR)$(aclocaldir)/$$p'"; \ |
| $(INSTALL_DATA) "$(srcdir)/$(macro_dir)/$$p" "$(DESTDIR)$(aclocaldir)/$$p"; \ |
| done |
| ## install the helper scripts |
| @list='$(pkgaux_scripts)' && \ |
| for p in $$list; do \ |
| d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ |
| test -d "$$d" || $(mkinstalldirs) "$$d"; \ |
| echo " $(INSTALL_SCRIPT) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ |
| $(INSTALL_SCRIPT) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ |
| done |
| @list='$(pkgaux_data_files)' && for p in $$list; do \ |
| d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ |
| test -d "$$d" || $(mkinstalldirs) "$$d"; \ |
| echo " $(INSTALL_DATA) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ |
| $(INSTALL_DATA) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ |
| done |
| ## install the libltdl files |
| @list='$(pkgltdl_files)' && for p in $$list; do \ |
| d=`echo "$(DESTDIR)$(pkgdatadir)/$$p" |$(SED) 's|[^/]*$$||'`; \ |
| test -d "$$d" || $(mkinstalldirs) "$$d"; \ |
| echo " $(INSTALL_DATA) '$(ltdldir)/$$p' '$(DESTDIR)$(pkgdatadir)/$$p'"; \ |
| $(INSTALL_DATA) "$(ltdldir)/$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \ |
| done |
| chmod a+x '$(DESTDIR)$(pkgdatadir)/configure' |
| |
| .PHONY: install-scripts-local |
| install-scripts-local: $(lt_Makefile_in) |
| ## Inline helper-scripts for installed libtoolize script |
| @p=`echo libtoolize |sed -e '$(transform)'`; \ |
| echo " $(SCRIPT_ENV) '$(inline_source)' libtoolize > '$(DESTDIR)$(bindir)/$$p'"; \ |
| d=`echo "$(DESTDIR)$(bindir)/$$p" |$(SED) 's|[^/]*$$||'`; \ |
| test -d "$$d" || $(mkinstalldirs) "$$d"; \ |
| $(SCRIPT_ENV) '$(inline_source)' libtoolize > "$(DESTDIR)$(bindir)/$$p"; \ |
| chmod a+x "$(DESTDIR)$(bindir)/$$p" |
| |
| |
| ## ------------- ## |
| ## Distribution. ## |
| ## ------------- ## |
| |
| edit_readme_alpha = $(srcdir)/$(aux_dir)/edit-readme-alpha |
| gitlog_to_changelog = $(srcdir)/$(aux_dir)/gitlog-to-changelog |
| git_log_fix = $(srcdir)/$(aux_dir)/git-log-fix |
| thanks_gen = $(srcdir)/$(aux_dir)/thanks-gen |
| |
| dotserial = $(distdir)/.serial |
| dotversion = $(top_srcdir)/.version |
| tarball_version = $(distdir)/.tarball-version |
| readme = $(distdir)/README |
| changelog = $(distdir)/ChangeLog |
| changelog_old = $(srcdir)/ChangeLog.old |
| thanks = $(distdir)/THANKS |
| no_thanks = $(srcdir)/NO-THANKS |
| |
| # Generate ChangeLog using git log entries for as far back as |
| # they are in good shape, appending manual records from earlier. |
| changelog_start_date = 2011-01-01 |
| $(changelog): FORCE |
| $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ |
| TZ=UTC $(gitlog_to_changelog) --amend=$(git_log_fix) \ |
| --ignore-matching=Omit-from-ChangeLog. \ |
| --format='%s%n%n%b%n' \ |
| --since=$(changelog_start_date) > '$@T'; \ |
| rm -f '$@'; mv '$@T' '$@'; \ |
| cat '$(changelog_old)' >> '$@'; \ |
| fi |
| |
| # Sort in traditional ASCII order, regardless of the current locale; |
| # otherwise we may get into trouble with distinct strings that the |
| # current locale considers to be equal. |
| ASSORT = LC_ALL=C sort |
| |
| # Extract all lines up to the first one starting with "##". |
| prologue = perl -ne '/^\#\#/ and exit; print' $(no_thanks) |
| |
| # Generate THANKS using git log entries as far as possible, fixing |
| # up omissions and errors from NO-THANKS configuration. |
| $(thanks): FORCE |
| $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ |
| { \ |
| $(prologue); echo; \ |
| { perl -ne '/^$$/.../^$$/ and print' $(no_thanks) \ |
| | grep -v '^$$' | perl -pe 's/ +/\0/'; \ |
| { sed -e '1,/\#\# /d' -e '/^\#\# /d' \ |
| -e 's|[ ][ ]*| |' < $(no_thanks) \ |
| | tr '\t' '\0'; \ |
| git log --pretty=format:'%aN%x00%aE'; \ |
| } | $(ASSORT) -u; \ |
| } | $(thanks_gen) \ |
| | LC_ALL=en_US.UTF-8 sort -f; \ |
| echo; \ |
| printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \ |
| } > '$@'; \ |
| fi |
| |
| ## Arrange so that .version appears only in the distribution |
| ## tarball, and never in a checked-out repository. |
| EXTRA_DIST += $(dotversion) |
| BUILT_SOURCES += $(dotversion) |
| $(dotversion): |
| $(AM_V_GEN)echo '$(VERSION)' > '$@T' && mv '$@T' '$@' |
| |
| ## Edit the README file for alpha releases. |
| EXTRA_DIST += $(edit_readme_alpha) |
| re_alpha_version = '\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*[-\.][-\.0-9a-z]*\)' |
| $(readme): FORCE |
| @if test -n "`expr $(VERSION) : $(re_alpha_version)`"; then \ |
| if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ |
| then echo " GEN " $@; \ |
| else echo "$(SHELL) $(edit_readme_alpha) $@"; fi; \ |
| $(SHELL) $(edit_readme_alpha) '$@'; \ |
| fi |
| |
| git_commit_count = git log --pretty=oneline |wc -l |$(SED) 's|[ ]||g' |
| |
| dist-hook: $(changelog) $(thanks) $(dotversion) $(readme) |
| ## Arrange so that .tarball-version appears only in the distribution |
| ## tarball, and never in a checked-out repository. |
| echo '$(VERSION)' > $(tarball_version) |
| ## ...and similarly for .serial. |
| $(git_commit_count) > $(dotserial) |
| ## Ensure aclocal has not wrongly picked up old macro definitions. |
| $(no_bogus_macros) |
| |
| distcheck-hook: syntax-check |
| |
| uninstall-hook: |
| @$(NORMAL_UNINSTALL) |
| @list='$(pkgltdl_files)'; \ |
| for f in $$list; do \ |
| echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ |
| rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ |
| done |
| @list='$(pkgaux_scripts) $(pkgaux_data_files)'; \ |
| for f in $$list; do \ |
| echo " rm -f '$(DESTDIR)$(pkgauxdir)/$$f'"; \ |
| rm -f "$(DESTDIR)$(pkgauxdir)/$$f"; \ |
| done |
| @for p in $(pkgmacro_files); do \ |
| f=`echo "$$p" |$(SED) 's|^.*/||'`; \ |
| echo " rm -f '$(DESTDIR)$(aclocaldir)/$$f'"; \ |
| rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \ |
| done |
| @p=`echo libtoolize |sed -e '$(transform)'`; \ |
| echo " rm -f '$(DESTDIR)$(bindir)/$$p'"; \ |
| rm -f "$(DESTDIR)$(bindir)/$$p" |
| |
| |
| ## ----------- ## |
| ## Test suite. ## |
| ## ----------- ## |
| |
| tests_dir = $(top_srcdir)/tests |
| package_m4 = $(tests_dir)/package.m4 |
| testsuite = $(tests_dir)/testsuite |
| |
| # The testsuite files are evaluated in the order given here. When |
| # adding new tests, make sure cmdline_wrap.at stays at the end so |
| # that it can check for previous failures and skip if necessary. |
| TESTSUITE = tests/testsuite |
| TESTSUITE_AT = tests/testsuite.at \ |
| tests/configure-funcs.at \ |
| tests/libtoolize.at \ |
| tests/libtool.at \ |
| tests/demo.at \ |
| tests/pic_flag.at \ |
| tests/with-pic.at \ |
| tests/cdemo.at \ |
| tests/convenience.at \ |
| tests/depdemo.at \ |
| tests/help.at \ |
| tests/duplicate_members.at \ |
| tests/duplicate_conv.at \ |
| tests/duplicate_deps.at \ |
| tests/flags.at \ |
| tests/inherited_flags.at \ |
| tests/link-order.at \ |
| tests/link-order2.at \ |
| tests/fail.at \ |
| tests/shlibpath.at \ |
| tests/runpath-in-lalib.at \ |
| tests/static.at \ |
| tests/export.at \ |
| tests/export-def.at \ |
| tests/search-path.at \ |
| tests/indirect_deps.at \ |
| tests/archive-in-archive.at \ |
| tests/exeext.at \ |
| tests/execute-mode.at \ |
| tests/bindir.at \ |
| tests/cwrapper.at \ |
| tests/deplib-in-subdir.at \ |
| tests/infer-tag.at \ |
| tests/localization.at \ |
| tests/nocase.at \ |
| tests/install.at \ |
| tests/versioning.at \ |
| tests/destdir.at \ |
| tests/old-m4-iface.at \ |
| tests/am-subdir.at \ |
| tests/lt_dlexit.at \ |
| tests/lt_dladvise.at \ |
| tests/lt_dlopen.at \ |
| tests/lt_dlopen_a.at \ |
| tests/lt_dlopenext.at \ |
| tests/ltdl-libdir.at \ |
| tests/ltdl-api.at \ |
| tests/dlloader-api.at \ |
| tests/loadlibrary.at \ |
| tests/lalib-syntax.at \ |
| tests/resident.at \ |
| tests/slist.at \ |
| tests/need_lib_prefix.at \ |
| tests/mdemo.at \ |
| tests/standalone.at \ |
| tests/subproject.at \ |
| tests/nonrecursive.at \ |
| tests/recursive.at \ |
| tests/tagdemo.at \ |
| tests/template.at \ |
| tests/ctor.at \ |
| tests/exceptions.at \ |
| tests/early-libtool.at \ |
| tests/no-executables.at \ |
| tests/deplibs-ident.at \ |
| tests/configure-iface.at \ |
| tests/f77demo.at \ |
| tests/fcdemo.at \ |
| tests/darwin.at \ |
| tests/dumpbin-symbols.at \ |
| tests/deplibs-mingw.at \ |
| tests/sysroot.at \ |
| tests/stresstest.at \ |
| tests/cmdline_wrap.at \ |
| tests/bug_62343.at \ |
| tests/bug_71489.at \ |
| tests/bug_42313.at \ |
| $(NOTHING_ELSE) |
| |
| EXTRA_DIST += $(testsuite) $(TESTSUITE_AT) $(package_m4) |
| |
| # Be sure to reexport important environment variables: |
| TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ |
| CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ |
| LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ |
| AR="$(AR)" \ |
| EGREP="$(EGREP)" FGREP="$(FGREP)" GREP="$(GREP)" SED="$(SED)" \ |
| STRIP="$(STRIP)" lt_INSTALL="$(INSTALL)" \ |
| MANIFEST_TOOL="$(MANIFEST_TOOL)" \ |
| OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" \ |
| SHELL="$(SHELL)" CONFIG_SHELL="$(SHELL)" \ |
| CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CXXCPP="$(CXXCPP)" \ |
| OBJC="$(OBJC)" OBJCFLAGS="$(OBJCFLAGS)" \ |
| OBJCXX="$(OBJCXX)" OBJCXXFLAGS="$(OBJCXXFLAGS)" \ |
| F77="$(F77)" FFLAGS="$(FFLAGS)" \ |
| FC="$(FC)" FCFLAGS="$(FCFLAGS)" \ |
| GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \ |
| lt_cv_with_aix_soname="$(with_aix_soname)" \ |
| lt_cv_to_host_file_cmd="$(to_host_file_cmd)" \ |
| lt_cv_to_tool_file_cmd="$(to_tool_file_cmd)" |
| |
| BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \ |
| LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \ |
| LIBTOOL="$(abs_top_builddir)/libtool" \ |
| tst_aclocaldir="$(abs_top_srcdir)/m4" |
| |
| INSTALLCHECK_ENVIRONMENT = \ |
| LIBTOOLIZE="$(bindir)/`echo libtoolize |$(SED) '$(program_transform_name)'`" \ |
| LIBTOOL="$(bindir)/`echo libtool |$(SED) '$(program_transform_name)'`" \ |
| LTDLINCL="-I$(includedir)" \ |
| LIBLTDL="$(libdir)/libltdl.la" \ |
| tst_aclocaldir="$(aclocaldir)" |
| |
| $(testsuite): $(package_m4) $(TESTSUITE_AT) Makefile.am |
| $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -I '$(srcdir)/tests' $(TESTSUITE_AT) -o '$@' |
| |
| $(package_m4): $(dotversion) Makefile.am |
| $(AM_V_GEN){ \ |
| echo '# Signature of the current package.'; \ |
| echo 'm4_define([AT_PACKAGE_NAME], [$(PACKAGE_NAME)])'; \ |
| echo 'm4_define([AT_PACKAGE_TARNAME], [$(PACKAGE_TARNAME)])'; \ |
| echo 'm4_define([AT_PACKAGE_VERSION], [$(PACKAGE_VERSION)])'; \ |
| echo 'm4_define([AT_PACKAGE_STRING], [$(PACKAGE_STRING)])'; \ |
| echo 'm4_define([AT_PACKAGE_BUGREPORT], [$(PACKAGE_BUGREPORT)])'; \ |
| echo 'm4_define([AT_PACKAGE_URL], [$(PACKAGE_URL)])'; \ |
| } > '$@' |
| |
| tests/atconfig: $(config_status) |
| $(AM_V_GEN)$(SHELL) '$(config_status)' '$@' |
| |
| DISTCLEANFILES += tests/atconfig |
| |
| CD_TESTDIR = abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; cd tests |
| |
| testsuite_deps = tests/atconfig $(srcdir)/$(TESTSUITE) |
| testsuite_deps_uninstalled = $(testsuite_deps) libltdl/libltdlc.la \ |
| $(bin_SCRIPTS) $(LTDL_BOOTSTRAP_DEPS) |
| |
| # Hook the test suite into the check rule |
| check-local: $(testsuite_deps_uninstalled) |
| $(AM_V_at)$(CD_TESTDIR); \ |
| CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ |
| $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) |
| |
| # Run the test suite on the *installed* tree. |
| installcheck-local: $(testsuite_deps) |
| $(AM_V_at)$(CD_TESTDIR); \ |
| CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ |
| $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ |
| AUTOTEST_PATH='$(exec_prefix)/bin' |
| |
| .PHONY: check-noninteractive-old |
| check-noninteractive-old: |
| $(AM_V_at)'$(MAKE)' $(AM_MAKEFLAGS) check-TESTS TESTS='$(TESTS)' |
| |
| # Run only noninteractive parts of the new testsuite. |
| .PHONY: check-noninteractive-new |
| check-noninteractive-new: $(testsuite_deps_uninstalled) |
| $(AM_V_at)$(CD_TESTDIR); \ |
| CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ |
| $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ |
| -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \ |
| $(TESTSUITEFLAGS) |
| |
| # Run only interactive parts of the new testsuite. |
| .PHONY: check-interactive |
| check-interactive: $(testsuite_deps_uninstalled) |
| $(AM_V_at)$(CD_TESTDIR); \ |
| CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ |
| $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ |
| -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \ |
| $(TESTSUITEFLAGS) |
| |
| .PHONY: check-noninteractive |
| check-noninteractive: check-noninteractive-old check-noninteractive-new |
| |
| # We need to remove any file droppings left behind by testsuite |
| clean-local: |
| -$(CD_TESTDIR); \ |
| test -f "$$abs_srcdir/$(TESTSUITE)" && \ |
| '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" --clean |
| |
| ## An empty target to depend on when a rule needs to always run |
| ## whenever it is visited. |
| FORCE: |