maint: Update HACKING
[automake.git] / t / recurs-user-many.sh
blobc4a0f64812054549c9beba3f8bdec6be13af16f0
1 #! /bin/sh
2 # Copyright (C) 2012-2017 Free Software Foundation, Inc.
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.
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.
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/>.
17 # Check that many user-defined recursive targets can be supported
18 # at once, and that calls to 'AM_EXTRA_RECURSIVE_TARGETS' are
19 # cumulative.
21 . test-init.sh
23 cat >> configure.ac <<'END'
24 AC_CONFIG_FILES([sub/Makefile])
25 ## NOTE: extra white spaces, tabs, newlines and backslashes in the
26 ## lines below: on purpose.
27 AM_EXTRA_RECURSIVE_TARGETS([ foo \
28 bar ])
29 AC_SUBST([CLEANFILES], ['foo bar baz'])
30 AC_OUTPUT
31 # Yes, this appears after AC_OUTPUT. So what?
32 AM_EXTRA_RECURSIVE_TARGETS([baz])
33 END
35 mkdir sub
37 cat > Makefile.am <<'END'
38 SUBDIRS = sub
39 foo-local:
40 : > foo
41 bar-local:
42 echo x > bar
43 baz-local: ; touch baz
44 check-local: foo bar baz
45 ls -l . sub ;: For debugging.
46 test -f foo
47 test -f bar
48 test -f baz
49 test -f sub/foo
50 test -f sub/bar
51 test -f sub/baz
52 END
54 cat > sub/Makefile.am <<'END'
55 foo-local bar-local baz-local:
56 touch `echo $@ | sed 's/-local$$//'`
57 END
59 $ACLOCAL
60 $AUTOCONF
61 $AUTOMAKE
63 for t in foo bar baz; do
64 $FGREP "$t-am" Makefile.in
65 $FGREP "$t-am" sub/Makefile.in
66 done
68 ./configure
70 $MAKE check
71 $MAKE distcheck