1#! /bin/sh 2# Copyright (C) 2010-2021 Free Software Foundation, Inc. 3# 4# This program is free software; you can redistribute it and/or modify 5# it under the terms of the GNU General Public License as published by 6# the Free Software Foundation; either version 2, or (at your option) 7# any later version. 8# 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with this program. If not, see <https://www.gnu.org/licenses/>. 16 17# Test EXTRA_*_DEPENDENCIES, libtool version; see 'extra-deps.sh' for 18# non-libtool variant. 19 20required='cc libtoolize' 21. test-init.sh 22 23cat >> configure.ac << 'END' 24AC_PROG_CC 25AM_PROG_AR 26AC_PROG_LIBTOOL 27AC_SUBST([deps], [bardep]) 28AC_OUTPUT 29END 30 31cat > Makefile.am << 'END' 32noinst_LTLIBRARIES = libfoo.la 33EXTRA_libfoo_la_DEPENDENCIES = libfoodep 34libfoodep: 35 @echo making $@ 36 @: > $@ 37CLEANFILES = libfoodep 38 39bin_PROGRAMS = bar 40bar_LDADD = libfoo.la 41EXTRA_bar_DEPENDENCIES = $(deps) 42 43EXTRA_DIST = bardep 44 45.PHONY: bar-has-been-updated 46bar-has-been-updated: 47 is_newest bar$(EXEEXT) libfoo.la 48END 49 50cat >libfoo.c <<'END' 51int libfoo () { return 0; } 52END 53 54cat >bar.c <<'END' 55extern int libfoo (); 56int main () { return libfoo (); } 57END 58 59libtoolize 60$ACLOCAL 61$AUTOMAKE --add-missing 62$AUTOCONF 63 64./configure 65 66# Hypothesis: EXTRA_*_DEPENDENCIES are honored. 67 68: >foodep 69: >foodep2 70: >bardep 71run_make -O 72grep 'making libfoodep' stdout 73 74rm -f bardep 75$MAKE && exit 1 76: >bardep 77 78$MAKE 79$sleep 80touch libfoo.la 81$MAKE 82$MAKE bar-has-been-updated 83 84$MAKE distcheck 85 86: 87