+2003-11-21 Alexandre Duret-Lutz <adl@gnu.org>
+
+ * automake.in (append_exeext): Do not append $(EXEEXT) to
+ @substitutions@.
+ * tests/exeext4.test: New file.
+ * tests/Makefile.am (TESTS): Add exeext4.test.
+
2003-11-19 Alexandre Duret-Lutz <adl@gnu.org>
* lib/am/configure.am (%MAKEFILE%): Remove %MAINTAINER-MODE%,
($macro, $macro, 'am__EXEEXT', 0, INTERNAL,
sub {
my ($subvar, $val, $cond, $full_cond) = @_;
- # Append $(EXEEXT) unless the user did it already.
- $val .= '$(EXEEXT)' unless $val =~ /\$\(EXEEXT\)$/;
+ # Append $(EXEEXT) unless the user did it already, or it's a
+ # @substitution@.
+ $val .= '$(EXEEXT)' unless $val =~ /(?:\$\(EXEEXT\)$|^[@]\w+[@]$)/;
return $val;
});
}
--- /dev/null
+#! /bin/sh
+# Copyright (C) 2003 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., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Make sure $(EXEEXT) is not appended to @substitutions@.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_SUBST([programs], ['prg1$(EXEEXT) prg2$(EXEEXT)'])
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+EXEEXT = .bin
+bin_PROGRAMS = $(programs) @programs@ prg3
+EXTRA_PROGRAMS = prg1 prg2 prg3
+print-bin:
+ echo BEG: $(bin_PROGRAMS) :END
+print-extra:
+ echo BEG: $(EXTRA_PROGRAMS) :END
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE print-bin > output
+cat output
+grep 'prg1.bin prg2.bin prg1.bin prg2.bin prg3.bin' output
+$MAKE print-extra > output
+cat output
+grep 'prg1.bin prg2.bin prg3.bin' output