summaryrefslogtreecommitdiff
path: root/tests/suffix13.test
diff options
context:
space:
mode:
authorFlorian Briegel <briegel@zone42.de>2009-04-07 23:16:01 +0200
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>2009-04-07 23:16:01 +0200
commitdd8b2944b9217841c2c232c3f2794c3f6296e3a2 (patch)
tree219952a096a5b5a530339ff6bd1a90072cc11230 /tests/suffix13.test
parentaea50a7d8a813dbda53a8fedec284cf7bf4221c2 (diff)
downloadautomake-dd8b2944b9217841c2c232c3f2794c3f6296e3a2.tar.gz
Fix renamed objects with subdir-objects and other languages.
* automake.in: Fixed bug when building with renamed objects and foreign languages. * tests/suffix13.test: New test. * tests/Makefile.am: Adjust. * THANKS: Update. Reports by Florian Briegel and Stepan Kasal. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Diffstat (limited to 'tests/suffix13.test')
-rwxr-xr-xtests/suffix13.test75
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/suffix13.test b/tests/suffix13.test
new file mode 100755
index 000000000..dda4cfb1d
--- /dev/null
+++ b/tests/suffix13.test
@@ -0,0 +1,75 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2006, 2009 Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Tests that Automake understands suffix rules with renamed objects
+# and subdir objects.
+# Reported by Florian Briegel.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_OUTPUT
+EOF
+
+cat >Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+SUFFIXES = .baz .c
+.baz.c:
+ case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac
+ cp $< $@
+
+DISTCLEANFILES = sub/bar.c
+
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c sub/bar.baz
+foo_CFLAGS =
+END
+
+mkdir sub
+cat > sub/bar.baz <<'END'
+extern int foo ();
+int main () { return foo (); }
+END
+cat > foo.c <<'END'
+int foo () { return 0; }
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+$MAKE
+
+$MAKE distcheck
+$MAKE distclean
+
+# Should also work without subdir-objects
+
+sed '/subdir-objects/d' < Makefile.am > t
+mv -f t Makefile.am
+$AUTOMAKE --force
+./configure
+$MAKE
+$MAKE distcheck
+: