maint: Update HACKING
[automake.git] / t / objext-pr10128.sh
blobea738ecc84a3762196323d1263e122d6aa99c60c
1 #! /bin/sh
2 # Copyright (C) 2012-2017 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 <https://www.gnu.org/licenses/>.
17 # Test for automake bug#10128: $(OBJEXT) redefinition causes
18 # $(foo_OBJECTS) to be defined as empty.
20 . test-init.sh
22 echo AC_OUTPUT >> configure.ac
24 cat > Makefile.am <<'END'
25 LINK = echo >$@ Linked $@ from
26 OBJEXT = fasl
27 EXEEXT =
29 noinst_PROGRAMS = foo zardoz
30 foo_SOURCES = foo.lisp
31 zardoz_SOURCES = mu1.lisp mu2.lisp
33 ## Un-commenting this is enough to make the test pass. Weird!
34 ##.lisp.o:
36 .lisp.fasl:
37 touch $@
39 .PHONY: test
40 test:
41 is $(foo_OBJECTS) == foo.fasl
42 is $(zardoz_OBJECTS) == mu1.fasl mu2.fasl
43 END
45 $ACLOCAL
46 $AUTOMAKE
47 $AUTOCONF
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"