summaryrefslogtreecommitdiff
path: root/Makefile.rules
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
commit25e8a70ea3b73210465e1f37b506ff23f95ad908 (patch)
treeaa34e2d892101751aa5268bdc8005ec6159cb7c7 /Makefile.rules
parentc85b33f264f978a4276775873da935d0a906f19d (diff)
downloadllvm-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.rules18
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
###############################################################################