tests: expose automake bug#14560
[platform/upstream/automake.git] / t / objext-pr10128.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 # Test for automake bug#10128: $(OBJEXT) redefinition causes
18 # $(foo_OBJECTS) to be defined as empty.
19
20 . test-init.sh
21
22 echo AC_OUTPUT >> configure.ac
23
24 cat > Makefile.am <<'END'
25 LINK = echo >$@ Linked $@ from
26 OBJEXT = fasl
27 EXEEXT =
28
29 noinst_PROGRAMS = foo zardoz
30 foo_SOURCES = foo.lisp
31 zardoz_SOURCES = mu1.lisp mu2.lisp
32
33 ## Un-commenting this is enough to make the test pass.  Weird!
34 ##.lisp.o:
35
36 .lisp.fasl:
37         touch $@
38
39 .PHONY: test
40 test:
41         is $(foo_OBJECTS) == foo.fasl
42         is $(zardoz_OBJECTS) == mu1.fasl mu2.fasl
43 END
44
45 $ACLOCAL
46 $AUTOMAKE
47 $AUTOCONF
48
49 ./configure
50 $MAKE test
51 touch foo.lisp mu1.lisp mu2.lisp
52 $MAKE all
53 cat foo
54 cat zardoz
55 test "$(cat foo)"    = "Linked foo from foo.fasl"
56 test "$(cat zardoz)" = "Linked zardoz from mu1.fasl mu2.fasl"
57
58 :