about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen Boeckel <mathstuf@gmail.com>2016-07-01 20:19:23 -0400
committerBen Boeckel <mathstuf@gmail.com>2016-07-07 21:10:18 -0400
commitb9a35902a20f264aa0b516f7f3a4ff2490a3cf06 (patch)
tree25189b49e115da8da9c0a7c97977ff7f0d24a1bf
parent1bcd60682d5b01aa170790f98ddd96372105b4b9 (diff)
downloadrust-b9a35902a20f264aa0b516f7f3a4ff2490a3cf06.tar.gz
rust-b9a35902a20f264aa0b516f7f3a4ff2490a3cf06.zip
llvm: allow cleaning LLVM's Visual Studio builds
The Visual Studio generators create a `clean` target that we can use.
-rw-r--r--mk/llvm.mk4
-rw-r--r--mk/rt.mk7
2 files changed, 11 insertions, 0 deletions
diff --git a/mk/llvm.mk b/mk/llvm.mk
index 602c2043029..d6f812049e0 100644
--- a/mk/llvm.mk
+++ b/mk/llvm.mk
@@ -59,6 +59,10 @@ clean-llvm$(1):
 	$$(Q)$$(CFG_NINJA) -C $$(CFG_LLVM_BUILD_DIR_$(1)) -t clean
 else ifeq ($$(findstring msvc,$(1)),msvc)
 clean-llvm$(1):
+	@$$(call E, clean: llvm)
+	$$(Q)$$(CFG_CMAKE) --build $$(CFG_LLVM_BUILD_DIR_$(1)) \
+		--config $$(LLVM_BUILD_CONFIG_MODE) \
+		--target clean
 else
 clean-llvm$(1):
 	@$$(call E, clean: llvm)
diff --git a/mk/rt.mk b/mk/rt.mk
index d0ab3102d7d..8113b683807 100644
--- a/mk/rt.mk
+++ b/mk/rt.mk
@@ -350,10 +350,17 @@ $$(COMPRT_LIB_$(1)): $$(COMPRT_DEPS) $$(MKFILE_DEPS) $$(LLVM_CONFIG_$$(CFG_BUILD
 		$$(COMPRT_DEFINES_$(1)) \
 		$$(COMPRT_BUILD_CC_$(1)) \
 		-G"$$(CFG_CMAKE_GENERATOR)"
+ifneq ($$(CFG_NINJA),)
+	$$(CFG_CMAKE) --build "$$(COMPRT_BUILD_DIR_$(1))" \
+		--target $$(COMPRT_BUILD_TARGET_$(1)) \
+		--config $$(LLVM_BUILD_CONFIG_MODE) \
+		-- $$(COMPRT_BUILD_ARGS_$(1))
+else
 	$$(Q)$$(CFG_CMAKE) --build "$$(COMPRT_BUILD_DIR_$(1))" \
 		--target $$(COMPRT_BUILD_TARGET_$(1)) \
 		--config $$(LLVM_BUILD_CONFIG_MODE) \
 		-- $$(COMPRT_BUILD_ARGS_$(1)) $$(MFLAGS)
+endif
 	$$(Q)cp "$$(COMPRT_OUTPUT_$(1))" $$@
 
 endif