aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-07-26 20:22:26 +0000
committerChris Lattner <sabre@nondot.org>2006-07-26 20:22:26 +0000
commit8203360bc158fa10dda46ca14fb141d5e423c63d (patch)
treeaef448bedd5a35895031e2f99de2dc28ea789700
parentd8e421d40a93c4fa64ed6e7f83a87df4ad1f9c41 (diff)
Reduce work done for directory traversal in srcdir==objdir builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29300 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--Makefile.rules16
1 files changed, 16 insertions, 0 deletions
diff --git a/Makefile.rules b/Makefile.rules
index 779e0a6933..eee01eee60 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -487,6 +487,8 @@ $(PROJ_etcdir): $(PROJ_etcdir)/.dir
SubDirs :=
ifdef DIRS
SubDirs += $(DIRS)
+
+ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
$(RecursiveTargets)::
$(Verb) for dir in $(DIRS); do \
if [ ! -f $$dir/Makefile ]; then \
@@ -495,6 +497,13 @@ $(RecursiveTargets)::
fi; \
($(MAKE) -C $$dir $@ ) || exit 1; \
done
+else
+$(RecursiveTargets)::
+ $(Verb) for dir in $(DIRS); do \
+ ($(MAKE) -C $$dir $@ ) || exit 1; \
+ done
+endif
+
endif
#---------------------------------------------------------
@@ -545,6 +554,7 @@ ifdef OPTIONAL_DIRS
SubDirs += $(OPTIONAL_DIRS)
+ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
$(RecursiveTargets)::
$(Verb) for dir in $(OPTIONAL_DIRS); do \
if [ -d $(PROJ_SRC_DIR)/$$dir ]; then\
@@ -555,6 +565,12 @@ $(RecursiveTargets)::
($(MAKE) -C$$dir $@ ) || exit 1; \
fi \
done
+else
+$(RecursiveTargets)::
+ $(Verb) for dir in $(OPTIONAL_DIRS); do \
+ ($(MAKE) -C$$dir $@ ) || exit 1; \
+ done
+endif
endif
#---------------------------------------------------------