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 | 25e8a70ea3b73210465e1f37b506ff23f95ad908 (patch) | |
tree | aa34e2d892101751aa5268bdc8005ec6159cb7c7 /Makefile.rules | |
parent | c85b33f264f978a4276775873da935d0a906f19d (diff) | |
download | llvm-25e8a70ea3b73210465e1f37b506ff23f95ad908.tar.gz llvm-25e8a70ea3b73210465e1f37b506ff23f95ad908.tar.bz2 llvm-25e8a70ea3b73210465e1f37b506ff23f95ad908.tar.xz |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24924 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Makefile.rules')
-rw-r--r-- | Makefile.rules | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/Makefile.rules b/Makefile.rules index 18db58d633..ccd9fc8f8f 100644 --- a/Makefile.rules +++ b/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 ############################################################################### |