summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2005-12-21 23:17:06 +0000
committerReid Spencer <rspencer@reidspencer.com>2005-12-21 23:17:06 +0000
commitc49a8637c39046af7b39ba24e7687afa18640f07 (patch)
tree212a81d174c05bf504e59c77ff14bd454d152281
parentf4300e361f3119e129a2914d49a267760dbd7bf1 (diff)
downloadbcm5719-llvm-c49a8637c39046af7b39ba24e7687afa18640f07.tar.gz
bcm5719-llvm-c49a8637c39046af7b39ba24e7687afa18640f07.zip
Some simple cleanups:
1. When srcdir == objdir have "spotless" say that it isn't supported in that mode rather than just let make say "no such target" 2. Minor doc cleanups 3. Fix the double rebuild problem with yacc files. A missing dependency caused parallel builds to skip building the .cpp file after the .cpp file was regenerated by bison. llvm-svn: 24924
-rw-r--r--llvm/Makefile.rules18
1 files changed, 12 insertions, 6 deletions
diff --git a/llvm/Makefile.rules b/llvm/Makefile.rules
index 18db58d6331..ccd9fc8f8f5 100644
--- a/llvm/Makefile.rules
+++ b/llvm/Makefile.rules
@@ -108,6 +108,9 @@ spotless:
else \
$(EchoCmd) "make spotless" can only be run from $(PROJ_OBJ_ROOT); \
fi
+else
+spotless:
+ $(EchoCmd) "spotless target not supported for objdir == srcdir"
endif
$(BUILT_SOURCES) : $(ObjMakefiles)
@@ -475,9 +478,9 @@ $(RecursiveTargets)::
done
endif
-#---------------------------------------------------------
+#-----------------------------------------------------------
# Handle the PARALLEL_DIRS options for parallel construction
-#---------------------------------------------------------
+#-----------------------------------------------------------
ifdef PARALLEL_DIRS
SubDirs += $(PARALLEL_DIRS)
@@ -1219,7 +1222,6 @@ $(LexObjs): $(ObjDir)/%.o : $(PROJ_SRC_DIR)/%.cpp
clean-local::
-$(Verb) $(RM) -f $(LexOutput)
- $(Verb) $(RM) -f $(LexOutput)
endif
@@ -1230,7 +1232,6 @@ endif
YaccFiles := $(filter %.y,$(Sources))
ifneq ($(YaccFiles),)
-YaccOutput := $(addprefix $(patsubst %.y,%,$(YaccFiles)),.output)
.PRECIOUS: $(YaccOutput)
@@ -1239,7 +1240,7 @@ YaccOutput := $(addprefix $(patsubst %.y,%,$(YaccFiles)),.output)
%.cpp: %.y
%.h: %.y
-# Rule for building the bison parsers...
+# Rule for building the bison based parsers...
$(PROJ_SRC_DIR)/%.cpp $(PROJ_SRC_DIR)/%.h : $(PROJ_SRC_DIR)/%.y
$(Echo) "Bisoning $*.y"
$(Verb) $(BISON) -v -d -p $(<F:%Parser.y=%) -o $*.tab.c $<
@@ -1247,8 +1248,13 @@ $(PROJ_SRC_DIR)/%.cpp $(PROJ_SRC_DIR)/%.h : $(PROJ_SRC_DIR)/%.y
$(Verb) $(MV) -f $*.tab.h $(PROJ_SRC_DIR)/$*.h
$(Echo) "*** DON'T FORGET TO CHECK IN $*.cpp and $*.h (generated files)"
+YaccObjs := $(patsubst %.y,$(ObjDir)/%.o,$(YaccFiles))
+$(YaccObjs): $(ObjDir)/%.o : $(PROJ_SRC_DIR)/%.cpp
+
+YaccOutput := $(addprefix $(patsubst %.y,%,$(YaccFiles)),.output)
+
clean-local::
- $(Verb) $(RM) -f $(YaccOutput)
+ -$(Verb) $(RM) -f $(YaccOutput)
endif
###############################################################################
OpenPOWER on IntegriCloud