my ($self, $name) = @_;
my $derived = canonicalize ($name);
- my $varname = $derived . '_SOURCES';
- my $var = var ($varname);
+ my $var = var "${derived}_SOURCES";
+ return unless $var;
- if ($var)
+ my @vala_sources = grep { /\.vala$/ } ($var->value_as_list_recursive);
+
+ foreach my $vala_file (@vala_sources)
{
- foreach my $file ($var->value_as_list_recursive)
- {
- $output_rules .= "\$(srcdir)/$file: \$(srcdir)/${derived}_vala.stamp\n"
- . "\t\@if test -f \$@; then :; else rm -f \$(srcdir)/${derived}_vala.stamp; fi\n"
- . "\t\@if test -f \$@; then :; else \\\n"
- . "\t \$(MAKE) \$(AM_MAKEFLAGS) \$(srcdir)/${derived}_vala.stamp; \\\n"
- . "\tfi\n"
- if $file =~ s/(.*)\.vala$/$1.c/;
- }
+ (my $c_file = $vala_file) =~ s/(.*)\.vala$/$1.c/;
+ $output_rules .= "\$(srcdir)/$c_file: \$(srcdir)/${derived}_vala.stamp\n"
+ . "\t\@if test -f \$@; then :; else rm -f \$(srcdir)/${derived}_vala.stamp; fi\n"
+ . "\t\@if test -f \$@; then :; else \\\n"
+ . "\t \$(MAKE) \$(AM_MAKEFLAGS) \$(srcdir)/${derived}_vala.stamp; \\\n"
+ . "\tfi\n"
}
# Add rebuild rules for generated header and vapi files
my $silent = silent_flag ();
$output_rules .=
- "\$(srcdir)/${derived}_vala.stamp: \$(${derived}_SOURCES)\n".
+ "\$(srcdir)/${derived}_vala.stamp: @vala_sources\n".
# Since the C files generated from the vala sources depend on the
# ${derived}_vala.stamp file, we must ensure its timestamp is older than
# those of the C files generated by the valac invocation below (this is
# Thus we need to create the stamp file *before* invoking valac, and to
# move it to its final location only after valac has been invoked.
"\t${silent}rm -f \$\@ && echo stamp > \$\@-t\n".
- "\t${verbose}\$(am__cd) \$(srcdir) && ${compile} \$(${derived}_SOURCES)\n".
+ "\t${verbose}\$(am__cd) \$(srcdir) && $compile @vala_sources\n".
"\t${silent}mv -f \$\@-t \$\@\n";
push_dist_common ("${derived}_vala.stamp");