diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2005-12-21 23:17:06 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2005-12-21 23:17:06 +0000 |
commit | c49a8637c39046af7b39ba24e7687afa18640f07 (patch) | |
tree | 212a81d174c05bf504e59c77ff14bd454d152281 | |
parent | f4300e361f3119e129a2914d49a267760dbd7bf1 (diff) | |
download | bcm5719-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.rules | 18 |
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 ############################################################################### |