All directory targets now install the Makefile only if it is missing.
authorJohn Criswell <criswell@uiuc.edu>
Tue, 25 Nov 2003 19:32:22 +0000 (19:32 +0000)
committerJohn Criswell <criswell@uiuc.edu>
Tue, 25 Nov 2003 19:32:22 +0000 (19:32 +0000)
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

index 3809108..48dfe35 100644 (file)
@@ -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 $< $@
 
 #