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