mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-18 14:16:00 +08:00
bcdfe9f273
In addition to moving the autoconf macro directory into the place expected by GNU developers ($top_srcdir/m4), we also simplify libtoolize somewhat by having libltdl use whatever directory was specified by the parent project. This is much more flexible, allows libltdl client projects to also use a single canonical `$top_srcdir/m4' macro directory, and maintains backward compatibility with existing projects that wish to continue using $ltdl_dir/m4. * libltdl/m4: Moved to it's parent directory. * Makefile.am (ACLOCAL_AMFLAGS, BUILDCHECK_ENVIRONMENT) (libltdl/Makefile.am, libltdl/aclocal.m4): Adjust. * configure.ac (AC_CONFIG_MACRO_DIR): Adjust. * libltdl/configure.ac (AC_CONFIG_MACRO_DIR): Remove. The libtoolize script can pick up the project macro directory from ACLOCAL_AMFLAGS in libltdl/Makefile.am, saving us from needing to regenerate configure for the sake of a different macro directory declared in the libltdl using client project. * libtoolize.m4sh (func_install_pkgmacro_subproject): Remove. (func_install_pkgmacro_parent): Remove. (subproject_macro_dir): Remove. (require_libltdl_Makefile_am, require_ltdl_aclocal_amflags) (require_ltdl_am_macro_dir): New functions, generated at runtime by adding libltdl/Makefile.am to the generation loop. (func_install_pkgmacro_files): Considerably simplified now that we have only a single macro directory to worry about. (require_ltdl_relative_macro_dir): New function. Calculate the relative path from $ltdl_dir to the parent project macro_dir. (require_Makefile_am_filter): Depending on $ltdl_mode, edit Makefile.am ACLOCAL_AMFLAGS to use the parent project macro directory if necessary. (require_aclocal_m4_filter): Make sure m4_includes point to the correct macro directory by editing the file as it is copied into the parent project. (func_install_pkgltdl_files): Use the filters. (func_check_macros): Remove various advice that no longer applies with an always shared macro directory. (func_require_ltdl_dir): Don't default ltdl_dir to subproject when `--ltdl' was not given. (func_require_ltdl_mode): Leave ltdl_mode empty when ltdl_dir is not set. (func_require_macro_dir): Default to $ltdl_dir/m4 in subproject mode with no other directory implied by AC_CONFIG_MACRO_DIR or ACLOCAL_AMFLAGS, otherwise m4 as before. * tests/libtoolize.at: Match new "creating file `Makefile.am'" messages correctly. (subproject ltdl with non-shared directories): This test no longer makes sense, so repurposed... (subproject ltdl with non-canonical macro dir): ...this, to ensure subproject ltdl continues to automatically share the parent macro directory. * 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): Use new location of macro_dir. * NEWS: Updated. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
76 lines
2.3 KiB
Makefile
76 lines
2.3 KiB
Makefile
## Makefile.am -- Process this file with automake to produce Makefile.in
|
|
##
|
|
## Copyright (C) 2003, 2004, 2005 Free Software Foundation
|
|
## 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; see the file COPYING. If not, a copy
|
|
## can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
|
## or obtained by writing to the Free Software Foundation, Inc.,
|
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
#####
|
|
|
|
AUTOMAKE_OPTIONS = no-dependencies foreign
|
|
ACLOCAL_AMFLAGS = -I ../../m4
|
|
AM_CPPFLAGS = -I$(top_srcdir)/../..
|
|
|
|
lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la
|
|
|
|
libfoo_la_SOURCES = foof.f90
|
|
libfoo_la_LDFLAGS = -no-undefined
|
|
libfoo_la_LIBADD = libfoo2.la
|
|
|
|
libfoo2_la_SOURCES = foof2.f90
|
|
libfoo2_la_LDFLAGS = -no-undefined
|
|
|
|
libfoo3_la_SOURCES = foof3.f90
|
|
libfoo3_la_LDFLAGS = -no-undefined
|
|
|
|
libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c
|
|
libmix_la_LDFLAGS = -no-undefined
|
|
|
|
noinst_HEADERS = foo.h
|
|
|
|
bin_PROGRAMS = fprogram cprogram
|
|
|
|
fprogram_SOURCES = fprogram.f90
|
|
fprogram_LDADD = libfoo.la libfoo3.la
|
|
|
|
cprogram_SOURCES = cprogram.c
|
|
cprogram_LDADD = libmix.la $(FCLIBS)
|
|
|
|
libtool: $(LIBTOOL_DEPS)
|
|
$(SHELL) ./config.status --recheck
|
|
|
|
# work around Automake bug not providing FCFLAGS_f90:
|
|
.f90.o:
|
|
$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
|
|
|
|
.f90.obj:
|
|
$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'`
|
|
|
|
.f90.lo:
|
|
$(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
|
|
|
|
# Workaround a bug in Autoconf-2.61 and earlier that don't clean up
|
|
# file droppings left by many compilers:
|
|
distclean-local:
|
|
ac_files="a.out.* a.exe.* a_out.exe.* b.out.* conftest.*"; \
|
|
for ac_file in $$ac_files; do \
|
|
case $$ac_file in \
|
|
*.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) rm -rf $$ac_file ;; \
|
|
esac; \
|
|
done
|