1#! /bin/sh 2# Copyright (C) 2012-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# Remake rules and user-defined recursive rules. 18 19. test-init.sh 20 21cat >> configure.ac << 'END' 22m4_include([extra-targets.m4]) 23AC_CONFIG_FILES([sub/Makefile]) 24AC_OUTPUT 25END 26 27echo 'AM_EXTRA_RECURSIVE_TARGETS([foo])' > extra-targets.m4 28 29cat > Makefile.am << 'END' 30SUBDIRS = sub 31all-local: foo 32foo-local: 33 : > foo 34bar-local: 35 : > bar 36MOSTLYCLEANFILES = foo 37END 38 39mkdir sub 40cat > sub/Makefile.am << 'END' 41foo-local: 42 : > foo2 43MOSTLYCLEANFILES = foo2 44bar-local: later-target 45END 46 47$ACLOCAL 48$AUTOCONF 49$AUTOMAKE 50 51./configure 52 53$MAKE 54test -f foo 55test -f sub/foo2 56test ! -f bar 57test ! -f sub/zardoz 58$MAKE distcheck 59 60$sleep 61 62echo 'AM_EXTRA_RECURSIVE_TARGETS([bar])' >> extra-targets.m4 63 64cat >> Makefile.am <<'END' 65MOSTLYCLEANFILES += bar oof 66all-local: bar 67foo-local: oof 68oof: 69 : > $@ 70END 71 72echo 'include $(srcdir)/more.am' >> sub/Makefile.am 73 74cat > sub/more.am << 'END' 75later-target: 76 : > zardoz 77DISTCLEANFILES = zardoz 78END 79 80using_gmake || $MAKE Makefile 81$MAKE 82test -f foo 83test -f oof 84test -f sub/foo2 85test -f bar 86test -f sub/zardoz 87$MAKE distcheck 88 89: 90