Tag
Hash :
4fae2af0
Author :
Date :
2002-07-01T16:10:35
Handle multiple suffix rules with the same input extension. For PR automake/37. * automake.in (suffix_rules_default): New variable. (suffix_rules): Redefine as a hash of hashes of pairs. (initialize_per_input): Setup suffix_rules_default from suffix_rules on first call, an override suffix_rules with suffix_rules_default on following calls. (struct) <output_extensions>: New attribute. (register_language): Set the default for output_extensions. Call register_suffix_rule for each suffix. (derive_suffix, handle_languages): Adjust to the new definition of $suffix. (register_suffix_rule): New function. (rule_define): Call register_suffix_rule. * tests/suffix8.test, tests/suffix9.test, tests/suffix10.test: New files. * tests/Makefile.am (TESTS): Add them.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
#! /bin/sh
# Test to make sure Automake supports multiple derivations for the same suffix.
# PR/37
required='gcc libtoolize'
. $srcdir/defs || exit 1
set -e
cat >>configure.in <<'END'
AM_PROG_LIBTOOL
AC_OUTPUT
END
cat >Makefile.am << 'END'
bin_PROGRAMS = foo
lib_LTLIBRARIES = libfoo.la
foo_SOURCES = foo.x_
libfoo_la_SOURCES = bar.x_
.x_.y_:
cp $< $@
.y_.o:
cp $< $@
.y_.z_:
cp $< $@
.z_.lo:
cp $< $@
print:
@echo BEGIN: $(foo_OBJECTS) :END
@echo BEGIN: $(libfoo_la_OBJECTS) :END
test: $(foo_OBJECTS) $(libfoo_la_OBJECTS)
test -f foo.$(OBJEXT)
test -f bar.lo
END
echo 'int main() { return 0; }' > foo.x_
cp foo.x_ bar.x_
libtoolize
$ACLOCAL
$AUTOCONF
$AUTOMAKE -a
./configure
env OBJEXT=foo $MAKE -e SHELL=/bin/sh print >stdout
cat stdout
grep 'BEGIN: foo.foo :END' stdout
grep 'BEGIN: bar.lo :END' stdout
$MAKE test