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
.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: