From 0becf7375e1b0d6976c9637aca52c3985bb61b41 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Mon, 20 Jun 2011 21:35:13 -0400 Subject: [PATCH] Don't touch unchanged flex/bison headers. This prevents some spurious rebuilds. --- Makefile.am | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 6921dbb..6ea246a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,7 +20,8 @@ src/parse.$(OBJEXT): src/scan.h src/scan.$(OBJEXT): src/parse.h src/libcdecl.$(OBJEXT): src/scan.h src/parse.h -# These are required to prevent the builtin lex/yacc rules from triggering... +# These are required to prevent the builtin lex/yacc rules from +# superseding ours... src/scan.c src/scan.h: src/scan.stamp src/parse.c src/parse.h: src/parse.stamp @@ -39,12 +40,22 @@ FLEX_V_0 = @echo " FLEX " $<; .y.stamp: $(AM_V_at) touch $@.tmp - $(BISON_V) $(BISON) -o $*.c --defines=$*.h $(BISONFLAGS) $< + $(BISON_V) $(BISON) -o $*.c --defines=$*.h.tmp $(BISONFLAGS) $< + $(AM_V_at) if cmp $*.h.tmp $*.h >/dev/null 2>&1; then \ + rm -f $*.h.tmp; \ + else \ + mv -f $*.h.tmp $*.h; \ + fi $(AM_V_at) mv -f $@.tmp $@ .l.stamp: $(AM_V_at) touch $@.tmp - $(FLEX_V) $(FLEX) -o $*.c --header-file=$*.h $(FLEXFLAGS) $< + $(FLEX_V) $(FLEX) -o $*.c --header-file=$*.h.tmp $(FLEXFLAGS) $< + $(AM_V_at) if cmp $*.h.tmp $*.h >/dev/null 2>&1; then \ + rm -f $*.h.tmp; \ + else \ + mv -f $*.h.tmp $*.h; \ + fi $(AM_V_at) mv -f $@.tmp $@ .stamp.c: -- 2.43.2