#! /bin/sh # Copyright (C) 2003, 2004 Free Software Foundation, Inc. # # This program 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 3, or (at your option) # any later version. # # This program 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 this program. If not, see . # Test to make sure that adding a new directory works, even from # subdirectories. (subdir5.test makes sure it works when make # is run from the top-level directory.) # PR automake/46 # This test assumes that the `make' utility is able to start # over and reload Makefiles which have been remade (a non-POSIX feature). required='GNUmake gcc' . ./defs || Exit 1 set -e echo 'AC_CONFIG_FILES([sub/Makefile])' >confiles.m4 cat >> configure.in << 'END' AC_PROG_CC AM_PROG_CC_C_O m4_include([confiles.m4]) MORE_DEFS AC_OUTPUT END cat > Makefile.am << 'END' SUBDIRS = sub ACLOCAL_AMFLAGS = -I m4 END mkdir sub cat > sub/Makefile.am << 'END' bin_PROGRAMS = wish wish_SOURCES = a.c END cat > sub/a.c << 'END' #include int main () { printf ("hi liver!\n"); return 0; } END mkdir m4 echo 'AC_DEFUN([MORE_DEFS], [])' > m4/moredefs.m4 $ACLOCAL -I m4 $AUTOCONF $AUTOMAKE --copy --add-missing ./configure $MAKE # Now add a new directory. mkdir sub/maude cat > sub/maude/Makefile.am << 'END' include_HEADERS = foo.h END : > sub/maude/foo.h echo 'SUBDIRS = maude' >> sub/Makefile.am mkdir maude : > maude/Makefile.am # Update confile.m4 *after* updating sub/Makefile.am. # (subdir5.test do it in the other way: it updates configure.in # before Makefile.am) echo 'AC_CONFIG_FILES([maude/Makefile sub/maude/Makefile])' >> confiles.m4 # We want a simple rebuild from sub/ to create sub/maude/Makefile # and maude/Makefile automatically. cd sub $MAKE cd .. test -f maude/Makefile test -f sub/maude/Makefile # Make sure the dependencies of aclocal.m4 or honored at least from # the top-level directory. echo 'AC_DEFUN([MORE_DEFS], [AC_SUBST([GREPME])])' > m4/moredefs.m4 $MAKE grep GREPME Makefile grep GREPME maude/Makefile grep GREPME sub/Makefile grep GREPME sub/maude/Makefile