summaryrefslogtreecommitdiff
path: root/automake.in
diff options
context:
space:
mode:
Diffstat (limited to 'automake.in')
-rw-r--r--automake.in9
1 files changed, 8 insertions, 1 deletions
diff --git a/automake.in b/automake.in
index eb859e2fd..50a9d8730 100644
--- a/automake.in
+++ b/automake.in
@@ -6077,8 +6077,15 @@ sub lang_vala_finish_target ($$)
$output_rules .=
"\$(srcdir)/${derived}_vala.stamp: \$(${derived}_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
+# especially important on systems with sub-second timestamp resolution).
+# 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${silent}touch \$@\n";
+ "\t${silent}mv -f \$@-t \$@\n";
push_dist_common ("${derived}_vala.stamp");