summaryrefslogtreecommitdiffstats
path: root/llvm/Makefile.common
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-04 19:47:06 +0000
committerChris Lattner <sabre@nondot.org>2003-08-04 19:47:06 +0000
commit7d0adf79ec588e998f85ddde712689c609a92c0b (patch)
treec8c88d5c7ba26151bbfaf504e10995c4d04070d9 /llvm/Makefile.common
parent4aad821408a1d0e088b526822d5da4e480185737 (diff)
downloadbcm5719-llvm-7d0adf79ec588e998f85ddde712689c609a92c0b.tar.gz
bcm5719-llvm-7d0adf79ec588e998f85ddde712689c609a92c0b.zip
* Don't print out HOW we are running Flex unless in verbose mode. We already
hide the bison command line. * If running flex or bison gives us the files we already have, don't overwrite the ones we have, which cause unnecessary compilation. I demand the ability to make meaningless changes without penalty! llvm-svn: 7571
Diffstat (limited to 'llvm/Makefile.common')
-rw-r--r--llvm/Makefile.common15
1 files changed, 11 insertions, 4 deletions
diff --git a/llvm/Makefile.common b/llvm/Makefile.common
index 2612e6fc656..9dfbdffe249 100644
--- a/llvm/Makefile.common
+++ b/llvm/Makefile.common
@@ -766,10 +766,15 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output)
# FIXME. (f.e. char Buffer[10000]; )
#
%.cpp: %.l
- $(FLEX) -t $< | $(SED) '/^find_rule/d' | \
+ @echo Flex\'ing $<...
+ $(VERB) $(FLEX) -t $< | $(SED) '/^find_rule/d' | \
$(SED) 's/void yyunput/inline void yyunput/' | \
$(SED) 's/void \*yy_flex_realloc/inline void *yy_flex_realloc/' | \
- $(SED) 's/#define YY_BUF_SIZE 16384/#define YY_BUF_SIZE (16384*64)/' > $@
+ $(SED) 's/#define YY_BUF_SIZE 16384/#define YY_BUF_SIZE (16384*64)/' \
+ > $@.tmp
+ $(VERB) diff -q $@ $@.tmp || ${MV} -f $@.tmp $@
+ @# remove the output of flex if it didn't get moved over...
+ @rm -f $@.tmp
# Rule for building the bison parsers...
%.c: %.y # Cancel built-in rules for yacc
@@ -777,8 +782,10 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output)
%.cpp %.h : %.y
@echo Bison\'ing $<...
$(VERB) $(BISON) -v -d -p $(<:%Parser.y=%) $*.y
- $(VERB) ${MV} -f $*.tab.c $*.cpp
- $(VERB) ${MV} -f $*.tab.h $*.h
+ $(VERB) diff -q $*.tab.c $*.cpp || ${MV} -f $*.tab.c $*.cpp
+ $(VERB) diff -q $*.tab.h $*.h || ${MV} -f $*.tab.h $*.h
+ @# If the files were not updated, don't leave them lying around...
+ @rm -f $*.tab.c $*.tab.h
# To create the directories...
%/.dir:
OpenPOWER on IntegriCloud