From b3866b69a5a067ecae663e453a2c04279969a3f2 Mon Sep 17 00:00:00 2001 From: John Criswell Date: Tue, 25 Nov 2003 19:32:22 +0000 Subject: [PATCH] All directory targets now install the Makefile only if it is missing. Directory targets no longer check for existance of the directory in the object tree; if the Makefile doesn't exist, we will re-create the directory. This seems to be a pretty good assumption and saves us from checking directory existance each time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10211 91177308-0d34-0410-b5e6-96231b3b80d8 --- Makefile.rules | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Makefile.rules b/Makefile.rules index 380910818a3..48dfe35bf72 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -395,9 +395,9 @@ RObjectsG := $(addprefix $(BUILD_OBJ_DIR)/Debug/,$(RObjs)) ifdef DIRS all install clean test bytecode :: $(VERB) for dir in ${DIRS}; do \ - $(MKDIR) $$dir; \ if [ ! -f $$dir/Makefile ]; \ then \ + $(MKDIR) $$dir; \ cp $(SourceDir)/$$dir/Makefile $$dir/Makefile; \ fi; \ ($(MAKE) -C $$dir $@) || exit 1; \ @@ -413,7 +413,12 @@ test :: $(addsuffix /.maketest , $(PARALLEL_DIRS)) bytecode :: $(addsuffix /.makebytecode, $(PARALLEL_DIRS)) %/.makeall %/.makeinstall %/.makeclean %/.maketest %/.makebytecode: - $(VERB) $(MKDIR) $(@D); cp $(SourceDir)/$(@D)/Makefile $(@D); $(MAKE) -C $(@D) $(subst $(@D)/.make,,$@) + $(VERB) if [ ! -f $(@D)/Makefile ]; \ + then \ + $(MKDIR) $(@D); \ + cp $(SourceDir)/$(@D)/Makefile $(@D)/Makefile; \ + fi; \ + $(MAKE) -C $(@D) $(subst $(@D)/.make,,$@) endif # Handle directories that may or may not exist @@ -422,9 +427,9 @@ all install clean test bytecode :: $(VERB) for dir in ${OPTIONAL_DIRS}; do \ if [ -d $(SourceDir)/$$dir ]; \ then\ - $(MKDIR) $$dir; \ if [ ! -f $$dir/Makefile ]; \ then \ + $(MKDIR) $$dir; \ cp $(SourceDir)/$$dir/Makefile $$dir/Makefile; \ fi; \ ($(MAKE) -C$$dir $@) || exit 1; \ @@ -830,6 +835,7 @@ $(LLVM_OBJ_ROOT)/config.status:: $(LLVM_SRC_ROOT)/configure # build tree. Makefile :: $(BUILD_SRC_DIR)/Makefile @${ECHO} "===== Updating Makefile from source dir: `dirname $<` =====" + $(MKDIR) $(@D) cp -f $< $@ #