am-ft: make the environment available earlier
[platform/upstream/automake.git] / t / subobj-vpath-pr13928.sh
1 #! /bin/sh
2 # Copyright (C) 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 # Expose part of automake bug#13928: if the subdir-objects option is
18 # in use and a source file is listed in a _SOURCES variable with a
19 # leading $(srcdir) component, Automake will generate a Makefile that
20 # tries to create the corresponding object file in $(srcdir) as well.
21
22 required=cc
23 . test-init.sh
24
25 cat >> configure.ac << 'END'
26 AC_PROG_CC
27 AM_PROG_CC_C_O
28 AC_OUTPUT
29 END
30
31 cat > Makefile.am <<'END'
32 AUTOMAKE_OPTIONS = subdir-objects
33 noinst_PROGRAMS = test
34 test_SOURCES = $(srcdir)/test.c
35 test-objs:
36         test ! -f $(srcdir)/test.$(OBJEXT)
37         test -f test.$(OBJEXT)
38 END
39
40 $ACLOCAL && $AUTOCONF && $AUTOMAKE -a || fatal_ "autotools failed"
41
42 $EGREP 'test\.|DEPDIR|dirstamp|srcdir' Makefile.in || : # For debugging.
43 $EGREP '\$.srcdir./test\.[o$]' Makefile.in && exit 1
44 $FGREP '$(srcdir)/$(am__dirstamp)' Makefile.in && exit 1
45 $FGREP '$(srcdir)/$(DEPDIR)' && exit 1
46
47 cat > test.c << 'END'
48 int main (void)
49 {
50   return 0;
51 }
52 END
53
54 mkdir build && cd build || fatal "preparation of build directory failed"
55 ../configure || fatal_ "./configure failed"
56
57 $MAKE
58 $MAKE test-objs
59
60 :