valac is always run in srcdir as the generated files are distributed.
So srcdir needs to be taken into account in the rebuild rules to not
wrongly trigger a rebuild in the wrong directory.

Signed-off-by: Jürg Billeter <j...@bitron.ch>
---
 automake.in |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/automake.in b/automake.in
index 08a0ed1..cf940f7 100755
--- a/automake.in
+++ b/automake.in
@@ -5942,10 +5942,10 @@ sub lang_vala_finish_target ($$)
     {
       foreach my $file ($var->value_as_list_recursive)
         {
-          $output_rules .= "$file: ${derived}_vala.stamp\n".
+          $output_rules .= "\$(srcdir)/$file: 
\$(srcdir)/${derived}_vala.stamp\n".
             "\...@if test -f \$@; then :; else \\\n".
-            "\t  rm -f ${derived}_vala.stamp; \\\n".
-            "\t  \$(MAKE) \$(AM_MAKEFLAGS) ${derived}_vala.stamp; \\\n".
+            "\t  rm -f \$(srcdir)/${derived}_vala.stamp; \\\n".
+            "\t  cd \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS) 
${derived}_vala.stamp; \\\n".
             "\tfi\n"
             if $file =~ s/(.*)\.vala$/$1.c/;
         }
@@ -5962,10 +5962,10 @@ sub lang_vala_finish_target ($$)
                                  '--vapi')))
            {
              my $headerfile = $flag;
-             $output_rules .= "$headerfile: ${derived}_vala.stamp\n".
+             $output_rules .= "\$(srcdir)/$headerfile: 
\$(srcdir)/${derived}_vala.stamp\n".
                "\...@if test -f \$@; then :; else \\\n".
-               "\t  rm -f ${derived}_vala.stamp; \\\n".
-               "\t  \$(MAKE) \$(AM_MAKEFLAGS) ${derived}_vala.stamp; \\\n".
+               "\t  rm -f \$(srcdir)/${derived}_vala.stamp; \\\n".
+               "\t  cd \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS) 
${derived}_vala.stamp; \\\n".
                "\tfi\n";
 
              # valac is not used when building from dist tarballs
-- 
1.6.3




Reply via email to