am-ft: make the environment available earlier
[platform/upstream/automake.git] / t / recurs-user-many.sh
1 #! /bin/sh
2 # Copyright (C) 2012-2013 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 <http://www.gnu.org/licenses/>.
16
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.
20
21 . test-init.sh
22
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
34
35 mkdir sub
36
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
53
54 cat > sub/Makefile.am <<'END'
55 foo-local bar-local baz-local:
56         touch `echo $@ | sed 's/-local$$//'`
57 END
58
59 $ACLOCAL
60 $AUTOCONF
61 $AUTOMAKE
62
63 for t in foo bar baz; do
64   $FGREP "$t-am" Makefile.in
65   $FGREP "$t-am" sub/Makefile.in
66 done
67
68 ./configure
69
70 $MAKE check
71 $MAKE distcheck
72
73 :