changeset 22008:5b521e104f2a

avoid updating parser source files unnecessarily * libinterp/module.mk (%.cc %.h : %.yy): Use tmp filename and move-if-change for parser source file.
author John W. Eaton <jwe@octave.org>
date Thu, 30 Jun 2016 14:16:00 -0400
parents 0e31c85c3969
children 1fc285f93592
files libinterp/module.mk
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/module.mk	Thu Jun 30 13:52:28 2016 -0400
+++ b/libinterp/module.mk	Thu Jun 30 14:16:00 2016 -0400
@@ -219,8 +219,10 @@
 ## Cancel the suffix rule and use a pattern rule instead.
 .yy.cc:
 
+## The ylwrap script always updates the parser source file so we use a temporary file
+## name and our own move-if-change rule for that file.
 %.cc %.h : %.yy
-	$(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $*.cc y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
+	$(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $*.cc-t y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) && $(call move_if_change_rule,$*.cc-t,$*.cc)
 
 ## Special rules:
 ## Mostly for sources which must be built before rest of compilation.