readme: fixlets to HACKING
[automake.git] / t / distcheck-hook2.sh
blobee177ee8df0e4f5f6acdab8c295c53abfbbfd6fd
1 #! /bin/sh
2 # Copyright (C) 2011-2012 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 <http://www.gnu.org/licenses/>.
17 # Check that no 'distcheck-hook' target is created automatically by
18 # Automake, and that a used-defined 'distcheck-hook' is *not* honored
19 # in a subpackage Makefile.am.
21 . ./defs || exit 1
23 cat >> configure.ac << 'END'
24 AC_CONFIG_SUBDIRS([subpkg])
25 AC_OUTPUT
26 END
28 mkdir subpkg
30 cat > subpkg/configure.ac << 'END'
31 AC_INIT([subpkg], [1.0])
32 AM_INIT_AUTOMAKE
33 AC_CONFIG_FILES([Makefile])
34 AC_OUTPUT
35 END
37 cat > Makefile.am <<'END'
38 distcheck-hook:
39 ls -l $(distdir)
40 chmod u+w $(distdir)
41 : > $(distdir)/dc-hook-has-run
42 chmod a-w $(distdir)
43 check-local:
44 ls -l $(srcdir)
45 test -f $(srcdir)/dc-hook-has-run
46 END
48 cat > subpkg/Makefile.am <<'END'
49 check-local:
50 ls -l $(srcdir)
51 test ! -r $(srcdir)/dc-hook-has-run
52 END
54 $ACLOCAL
55 $AUTOMAKE
56 $AUTOCONF
57 cd subpkg
58 $ACLOCAL
59 $AUTOMAKE
60 $AUTOCONF
61 cd ..
63 # For debugging.
64 $FGREP 'distcheck-hook' Makefile.in subpkg/Makefile.in
66 $FGREP 'distcheck-hook' subpkg/Makefile.in && exit 1
67 $FGREP '$(MAKE) $(AM_MAKEFLAGS) distcheck-hook' Makefile.in
68 grep '^distcheck-hook:' Makefile.in
70 ./configure
72 $MAKE
73 $MAKE check && exit 1
74 cd subpkg
75 $MAKE check
76 cd ..
77 $MAKE distcheck