summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile5
1 files changed, 5 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 7bf1d3db..b1b2db11 100644
--- a/Makefile
+++ b/Makefile
@@ -239,11 +239,15 @@ y.tab.h: y.tab.c
y.tab.c: $(top_srcdir)parser.y
$(call ABBREV,YACC)
+ $(V)if [ -e y.tab.h ]; then mv y.tab.h y.tab.h.old ; fi
$(V)rm -f y.tab.c
$(V)if $(TXR_YACC) -v -d $< ; then \
chmod a-w y.tab.c ; \
sed -e '/yyparse/d' < y.tab.h > y.tab.h.tmp && \
mv y.tab.h.tmp y.tab.h ; \
+ if cmp -s y.tab.h y.tab.h.old ; then \
+ mv y.tab.h.old y.tab.h ; \
+ fi ; \
else \
rm y.tab.c ; \
false ; \
@@ -285,6 +289,7 @@ rebuild: clean repatch $(PROG)
clean: conftest.clean tests.clean
rm -f $(PROG)$(EXE) $(PROG)-dbg$(EXE) y.tab.c lex.yy.c y.tab.h y.output
+ rm -f y.tab.h.old
rm -f $(PROG)-win$(EXE) $(PROG)-win-dbg$(EXE)
rm -rf opt dbg $(EXTRA_OBJS-y)