sync: update files from upstream with "make fetch"
[automake.git] / t / specflg8.sh
blob598970ada01b2feb500cf669e7623534e4303cd0
1 #! /bin/sh
2 # Copyright (C) 2002-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 # 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).
21 required='cc native'
22 . ./defs || exit 1
24 cat >> configure.ac << 'END'
25 AC_PROG_CC
26 AM_PROG_CC_C_O
27 AC_OUTPUT
28 END
30 # Using a separate variable to hold all the sources for a program is
31 # common when building many flavors of this program, each with
32 # different flags.
34 cat > Makefile.am << 'END'
35 TRUESOURCE = true.c
36 bin_PROGRAMS = false true
37 true_SOURCES = $(TRUESOURCE)
38 true_CPPFLAGS = -DEXIT_CODE=0
39 false_SOURCES = $(TRUESOURCE)
40 false_CPPFLAGS = -DEXIT_CODE=1
41 END
43 cat > true.c << 'END'
44 int main (void)
46 return EXIT_CODE;
48 END
50 $ACLOCAL
51 $AUTOCONF
52 $AUTOMAKE -a
54 ./configure
55 $MAKE
57 ./true
58 ./false && exit 1
60 objext=$(sed -n -e 's/^OBJEXT = //p' < Makefile)
61 test -f ./true-true.$objext
62 test -f ./false-true.$objext