]> git.lizzy.rs Git - rust.git/commitdiff
mk: Make some LLVM building support more robust
authorAlex Crichton <alex@alexcrichton.com>
Tue, 28 Jun 2016 01:59:55 +0000 (18:59 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Tue, 28 Jun 2016 01:59:55 +0000 (18:59 -0700)
* Implement the clean-llvm target for those cases where makefiles are being used
* Have all cross-compiled LLVMs depend on the **host** LLVM as they'll require
  the llvm-tablegen executable from there

mk/llvm.mk

index cc868a49e4b02201dee9b761d6672f74d9b0f5aa..6d8601f3dad6d3bee0c8ce725e2efc4418fe85b2 100644 (file)
@@ -27,12 +27,18 @@ endif
 
 define DEF_LLVM_RULES
 
+ifeq ($(1),$$(CFG_BUILD))
+LLVM_DEPS_TARGET_$(1) := $$(LLVM_DEPS)
+else
+LLVM_DEPS_TARGET_$(1) := $$(LLVM_DEPS) $$(LLVM_CONFIG_$$(CFG_BUILD))
+endif
+
 # If CFG_LLVM_ROOT is defined then we don't build LLVM ourselves
 ifeq ($(CFG_LLVM_ROOT),)
 
 LLVM_STAMP_$(1) = $$(CFG_LLVM_BUILD_DIR_$(1))/llvm-auto-clean-stamp
 
-$$(LLVM_CONFIG_$(1)): $$(LLVM_DEPS) $$(LLVM_STAMP_$(1))
+$$(LLVM_CONFIG_$(1)): $$(LLVM_DEPS_TARGET_$(1)) $$(LLVM_STAMP_$(1))
        @$$(call E, cmake: llvm)
 ifeq ($$(findstring msvc,$(1)),msvc)
        $$(Q)$$(CFG_CMAKE) --build $$(CFG_LLVM_BUILD_DIR_$(1)) \
@@ -42,7 +48,13 @@ else
 endif
        $$(Q)touch $$(LLVM_CONFIG_$(1))
 
+ifeq ($$(findstring msvc,$(1)),msvc)
 clean-llvm$(1):
+else
+clean-llvm$(1):
+       @$$(call E, clean: llvm)
+       $$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) clean
+endif
 
 else
 clean-llvm$(1):