]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Vala: Use $(srcdir) in rebuild rules.
authorJürg Billeter <j@bitron.ch>
Fri, 15 May 2009 13:51:03 +0000 (15:51 +0200)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 17 May 2009 08:18:23 +0000 (10:18 +0200)
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.

* automake.in (lang_vala_finish_target): Rebuild files in
$(srcdir).
* tests/vala2.test: Test rebuild rules from VPATH build.

Signed-off-by: Jürg Billeter <j@bitron.ch>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ChangeLog
automake.in
tests/vala2.test

index b0f6f7afab498596f25f3de351d827e233f06075..4e7262dae760c6eb18758cb8622e80463deae735 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2009-05-17  Jürg Billeter  <j@bitron.ch>
 
+       Vala: Use $(srcdir) in rebuild rules.
+       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.
+       * automake.in (lang_vala_finish_target): Rebuild files in
+       $(srcdir).
+       * tests/vala2.test: Test rebuild rules from VPATH build.
+
        Vala: Add and test rebuild rules for generated header and vapi files.
        valac will generate additional files when using, for example, -H in
        VALAFLAGS. We need to recognize these options and add appropriate
index a2b735f021dc5ac8edc24459efe4ad460d7a7358..13dd79babaaebd085e82053bdb191ab9fc7336a1 100755 (executable)
@@ -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".
             "\t\@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', '--internal-vapi', '--gir')))
            {
              my $headerfile = $flag;
-             $output_rules .= "$headerfile: ${derived}_vala.stamp\n".
+             $output_rules .= "\$(srcdir)/$headerfile: \$(srcdir)/${derived}_vala.stamp\n".
                "\t\@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
index bfa38cd3b877012cc152aedf209edc78db974c79..d9dcfc5c2c5fd9cd35f30713a9744d5c59b53655 100755 (executable)
@@ -81,3 +81,7 @@ cd build
 $MAKE
 $MAKE distcheck
 
+# test rebuild rules from builddir
+touch ../src/zardoz.vala
+$MAKE
+