I don't understand the following line in automake.in. It seems very
wrong to me, but...
# Read Makefile.am and set up %contents. Simultaneously copy lines
# from Makefile.am into $output_trailer or $output_vars as
# appropriate. NOTE we put rules in the trailer section. We want
# user rules to come after our generated stuff.
sub read_am_file
{
---------- CUT ----------
elsif (/$RULE_PATTERN/o)
{
# Found a rule.
$was_rule = 1;
if (defined $contents{$1}
&& (@conditional_stack
? ! defined $conditional{$1}
: defined $conditional{$1}))
{
&am_line_error ($1,
"$1 defined both conditionally and unconditionally");
}
# Value here doesn't matter; for targets we only note
# existence.
=====> ???? $contents{$1} = 1;
$targets{$1} = 1;
my $cond_string = join ('', @conditional_stack);