[llvm-commits] CVS: llvm/Makefile.rules

Reid Spencer reid at x10sys.com
Wed Oct 27 17:41:54 PDT 2004



Changes in directory llvm:

Makefile.rules updated: 1.218 -> 1.219
---
Log message:

Bug Fixes:

* Ensure that BUILT_SOURCES depends on OBJ_DIR/Makefile so that they do not
  get built before the Makefile is updated.
* Fix build script for yacc & lex files by stopping it from thwarting the
  dependencies on the file. If the .y file changes, it needs to be rebuilt. 
  This also cleans up the problem with llvmAsmParser ALWAYS rebuilding its
  Yacc files just to throw them away because there's no change.


---
Diffs of the changes:  (+7 -9)

Index: llvm/Makefile.rules
diff -u llvm/Makefile.rules:1.218 llvm/Makefile.rules:1.219
--- llvm/Makefile.rules:1.218	Wed Oct 27 17:48:58 2004
+++ llvm/Makefile.rules	Wed Oct 27 19:41:43 2004
@@ -61,7 +61,7 @@
 # PRECONDITIONS: that which must be built/checked first
 ################################################################################
 
-SRCMKFILES    := $(filter-out Makefile.rules %.in,\
+SRCMKFILES    := $(BUILD_SRC_DIR)/Makefile $(filter-out Makefile.rules %.in,\
                  $(wildcard $(BUILD_SRC_DIR)/Makefile.*))
 OBJMKFILES    := $(subst $(BUILD_SRC_DIR),$(BUILD_OBJ_DIR),$(SRCMKFILES))
 CONFIGURE     := $(LLVM_SRC_ROOT)/configure
@@ -82,6 +82,8 @@
 	$(VERB) $(RM) -f $(BUILT_SOURCES)
 endif
 
+$(BUILT_SOURCES) : $(BUILD_OBJ_ROOT)/Makefile
+
 #------------------------------------------------------------------------
 # Make sure we're not using a stale configuration
 #------------------------------------------------------------------------
@@ -806,21 +808,17 @@
 	$(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)/' \
-	  > $@.tmp
-	$(VERB) cmp -s $@ $@.tmp > /dev/null || $(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
+%.cpp: %.y   # Cancel built-in rules for yacc
 %.h: %.y     # Cancel built-in rules for yacc
 %.cpp %.h : %.y
 	@$(ECHO) "Bisoning $*.y"
 	$(VERB) $(BISON) -v -d -p $(<F:%Parser.y=%) -o $*.tab.c  $<
-	$(VERB) cmp -s $*.tab.c $*.cpp > /dev/null || $(MV) -f $*.tab.c $*.cpp
-	$(VERB) cmp -s $*.tab.h $*.h   > /dev/null || $(MV) -f $*.tab.h $*.h
-	@# If the files were not updated, don't leave them lying around...
-	@rm -f $*.tab.c $*.tab.h
+	$(VERB) $(MV) -f $*.tab.c $*.cpp
+	$(VERB) $(MV) -f $*.tab.h $*.h
 
 # To create the directories...
 %/.dir:






More information about the llvm-commits mailing list