From 8d7dfb36c6d832c44f1aba08d8c8078c6788c206 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 22 Jan 2003 16:13:31 +0000 Subject: [PATCH] Fix lli build problem with parallel makes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5396 91177308-0d34-0410-b5e6-96231b3b80d8 --- Makefile.common | 13 +++++++++---- Makefile.rules | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Makefile.common b/Makefile.common index 43048f7eb7b..4d61ad7024d 100644 --- a/Makefile.common +++ b/Makefile.common @@ -230,7 +230,6 @@ test :: $(addsuffix /.maketest , $(PARALLEL_DIRS)) %/.makeall %/.makeinstall %/.makeclean %/.maketest: $(VERB) cd $(@D); $(MAKE) $(subst $(@D)/.make,,$@) - endif #--------------------------------------------------------- @@ -396,19 +395,25 @@ USED_LIB_PATHS_O := $(addprefix $(LIBRELEASE)/, $(STATICUSEDLIBS)) USED_LIB_PATHS_P := $(addprefix $(LIBPROFILE)/, $(STATICUSEDLIBS)) LINK_OPTS := $(TOOLLINKOPTS) $(PLATFORMLINKOPTS) + +# Tell make that we need to rebuild subdirectories before we can link the tool. +# This affects things like LLI which has library subdirectories. +$(USED_LIB_PATHS_G) $(USED_LIB_PATHS_O) $(USED_LIB_PATHS_P): \ + $(addsuffix /.makeall, $(PARALLEL_DIRS)) + all:: $(TOOLEXENAMES) clean:: $(VERB) rm -f $(TOOLEXENAMES) -$(TOOLEXENAME_G): $(ObjectsG) $(USED_LIB_PATHS_G) $(BUILD_ROOT_TOP)/tools/Debug/.dir +$(TOOLEXENAME_G): $(ObjectsG) $(USED_LIB_PATHS_G) $(TOOLDEBUG)/.dir @echo ======= Linking $(TOOLNAME) debug executable $(WARN_MSG) ======= $(VERB) $(LinkG) -o $@ $(ObjectsG) $(USED_LIBS_OPTIONS_G) $(LINK_OPTS) -$(TOOLEXENAME_O): $(ObjectsO) $(USED_LIB_PATHS_O) $(BUILD_ROOT_TOP)/tools/Release/.dir +$(TOOLEXENAME_O): $(ObjectsO) $(USED_LIB_PATHS_O) $(TOOLRELEASE)/.dir @echo ======= Linking $(TOOLNAME) release executable ======= $(VERB) $(LinkO) -o $@ $(ObjectsO) $(USED_LIBS_OPTIONS_O) $(LINK_OPTS) -$(TOOLEXENAME_P): $(ObjectsP) $(USED_LIB_PATHS_P) $(BUILD_ROOT_TOP)/tools/Profile/.dir +$(TOOLEXENAME_P): $(ObjectsP) $(USED_LIB_PATHS_P) $(TOOLPROFILE)/.dir @echo ======= Linking $(TOOLNAME) profile executable ======= $(VERB) $(LinkP) -o $@ $(ObjectsP) $(USED_LIBS_OPTIONS_P) $(LINK_OPTS) diff --git a/Makefile.rules b/Makefile.rules index 43048f7eb7b..4d61ad7024d 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -230,7 +230,6 @@ test :: $(addsuffix /.maketest , $(PARALLEL_DIRS)) %/.makeall %/.makeinstall %/.makeclean %/.maketest: $(VERB) cd $(@D); $(MAKE) $(subst $(@D)/.make,,$@) - endif #--------------------------------------------------------- @@ -396,19 +395,25 @@ USED_LIB_PATHS_O := $(addprefix $(LIBRELEASE)/, $(STATICUSEDLIBS)) USED_LIB_PATHS_P := $(addprefix $(LIBPROFILE)/, $(STATICUSEDLIBS)) LINK_OPTS := $(TOOLLINKOPTS) $(PLATFORMLINKOPTS) + +# Tell make that we need to rebuild subdirectories before we can link the tool. +# This affects things like LLI which has library subdirectories. +$(USED_LIB_PATHS_G) $(USED_LIB_PATHS_O) $(USED_LIB_PATHS_P): \ + $(addsuffix /.makeall, $(PARALLEL_DIRS)) + all:: $(TOOLEXENAMES) clean:: $(VERB) rm -f $(TOOLEXENAMES) -$(TOOLEXENAME_G): $(ObjectsG) $(USED_LIB_PATHS_G) $(BUILD_ROOT_TOP)/tools/Debug/.dir +$(TOOLEXENAME_G): $(ObjectsG) $(USED_LIB_PATHS_G) $(TOOLDEBUG)/.dir @echo ======= Linking $(TOOLNAME) debug executable $(WARN_MSG) ======= $(VERB) $(LinkG) -o $@ $(ObjectsG) $(USED_LIBS_OPTIONS_G) $(LINK_OPTS) -$(TOOLEXENAME_O): $(ObjectsO) $(USED_LIB_PATHS_O) $(BUILD_ROOT_TOP)/tools/Release/.dir +$(TOOLEXENAME_O): $(ObjectsO) $(USED_LIB_PATHS_O) $(TOOLRELEASE)/.dir @echo ======= Linking $(TOOLNAME) release executable ======= $(VERB) $(LinkO) -o $@ $(ObjectsO) $(USED_LIBS_OPTIONS_O) $(LINK_OPTS) -$(TOOLEXENAME_P): $(ObjectsP) $(USED_LIB_PATHS_P) $(BUILD_ROOT_TOP)/tools/Profile/.dir +$(TOOLEXENAME_P): $(ObjectsP) $(USED_LIB_PATHS_P) $(TOOLPROFILE)/.dir @echo ======= Linking $(TOOLNAME) profile executable ======= $(VERB) $(LinkP) -o $@ $(ObjectsP) $(USED_LIBS_OPTIONS_P) $(LINK_OPTS) -- 2.40.0