| #! /bin/sh | |
| # Copyright (C) 2002, 2003 Free Software Foundation, Inc. | |
| # | |
| # This file is part of GNU Automake. | |
| # | |
| # GNU Automake 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, or (at your option) | |
| # any later version. | |
| # | |
| # GNU Automake 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 Automake; see the file COPYING. If not, write to | |
| # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
| # Boston, MA 02110-1301, USA. | |
| # Make sure `check:' and `install:' honor $(BUILT_SOURCES). | |
| # PR/359. | |
| . ./defs || exit 1 | |
| set -e | |
| cat >> configure.in << 'END' | |
| AC_CONFIG_FILES([dir/Makefile]) | |
| AC_OUTPUT | |
| END | |
| mkdir dir | |
| cat > Makefile.am << 'END' | |
| BUILT_SOURCES = command1.inc | |
| SUBDIRS = dir | |
| TESTS = subrun.sh | |
| subrun.sh: | |
| (echo '#! /bin/sh'; cat command1.inc) > $@ | |
| chmod +x $@ | |
| command1.inc: | |
| echo 'dir/echo.sh' > $@ | |
| CLEANFILES = subrun.sh command1.inc | |
| END | |
| cat > dir/Makefile.am << 'END' | |
| BUILT_SOURCES = command2.inc | |
| check_SCRIPTS = echo.sh | |
| echo.sh: | |
| ## The next line ensures that command1.inc has been built before | |
| ## recurring into the subdir. | |
| test -f ../command1.inc | |
| (echo '#! /bin/sh'; cat command2.inc) > $@ | |
| chmod +x $@ | |
| command2.inc: | |
| echo 'echo Hello' > $@ | |
| CLEANFILES = echo.sh command2.inc | |
| END | |
| $ACLOCAL | |
| $AUTOCONF | |
| $AUTOMAKE | |
| ./configure --prefix `pwd`/inst | |
| $MAKE check >stdout | |
| cat stdout | |
| grep 'PASS: subrun.sh' stdout | |
| # check should depend directly on check-am (similar tests are | |
| # in check.test and check2.test). | |
| $FGREP 'check: $(BUILT_SOURCES)' Makefile.in | |
| $FGREP 'check: $(BUILT_SOURCES)' dir/Makefile.in | |
| $MAKE clean | |
| # Sanity checks | |
| test ! -f command1.inc | |
| test ! -f dir/command2.inc | |
| # Now make sure these two files are rebuilt during make install. | |
| $MAKE install | |
| test -f command1.inc | |
| test -f dir/command2.inc |