Merge branch 'micro' into maint
[platform/upstream/automake.git] / t / specflg8.sh
1 #! /bin/sh
2 # Copyright (C) 2002-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 # Like the true/false example from the manual,
18 # with one extra indirection in the sources (PR/315), and
19 # use of _CPPFLAGS (PR/337).
20
21 required='cc native'
22 . test-init.sh
23
24 cat >> configure.ac << 'END'
25 AC_PROG_CC
26 AC_OUTPUT
27 END
28
29 # Using a separate variable to hold all the sources for a program is
30 # common when building many flavors of this program, each with
31 # different flags.
32
33 cat > Makefile.am << 'END'
34 TRUESOURCE = true.c
35 bin_PROGRAMS = false true
36 true_SOURCES = $(TRUESOURCE)
37 true_CPPFLAGS = -DEXIT_CODE=0
38 false_SOURCES = $(TRUESOURCE)
39 false_CPPFLAGS = -DEXIT_CODE=1
40 END
41
42 cat > true.c << 'END'
43 int main (void)
44 {
45    return EXIT_CODE;
46 }
47 END
48
49 $ACLOCAL
50 $AUTOCONF
51 $AUTOMAKE -a
52
53 ./configure
54 $MAKE
55
56 ./true
57 ./false && exit 1
58
59 objext=$(sed -n -e 's/^OBJEXT = //p' < Makefile)
60 test -f ./true-true.$objext
61 test -f ./false-true.$objext
62
63 :