|
2 | 2 | # Cleanup
|
3 | 3 | ######################################################################
|
4 | 4 |
|
| 5 | +CLEAN_STAGE_RULES = $(foreach target,$(CFG_TARGET_TRIPLES), \ |
| 6 | + clean0$(target) clean1$(target) clean2$(target) clean3$(target)) |
| 7 | + |
| 8 | + |
5 | 9 | .PHONY: clean
|
6 | 10 |
|
7 |
| -clean: |
| 11 | +clean: clean-misc $(CLEAN_STAGE_RULES) |
| 12 | + |
| 13 | +clean-misc: |
8 | 14 | @$(call E, cleaning)
|
9 | 15 | $(Q)rm -f $(RUNTIME_OBJS) $(RUNTIME_DEF)
|
10 | 16 | $(Q)rm -f $(RUSTLLVM_LIB_OBJS) $(RUSTLLVM_OBJS_OBJS) $(RUSTLLVM_DEF)
|
@@ -55,3 +61,25 @@ clean:
|
55 | 61 | $(wildcard doc/*.$(ext)))
|
56 | 62 | $(Q)rm -Rf doc/version.texi
|
57 | 63 | $(Q)rm -rf rt/libuv
|
| 64 | + |
| 65 | +define CLEAN_STAGE_N |
| 66 | + |
| 67 | +clean$(1)$(2): |
| 68 | + $(Q)rm -f stage$(1)/bin/rustc |
| 69 | + $(Q)rm -f stage$(1)/bin/fuzzer |
| 70 | + $(Q)rm -f stage$(1)/lib/$(CFG_RUNTIME) |
| 71 | + $(Q)rm -f stage$(1)/lib/$(CFG_STDLIB) |
| 72 | + $(Q)rm -f stage$(1)/lib/$(CFG_RUSTLLVM) |
| 73 | + $(Q)rm -f stage$(1)/lib/rustc/$(2)/$(CFG_RUNTIME) |
| 74 | + $(Q)rm -f stage$(1)/lib/rustc/$(2)/$(CFG_STDLIB) |
| 75 | + $(Q)rm -f stage$(1)/lib/rustc/$(2)/libstd.rlib |
| 76 | + $(Q)rm -f stage$(1)/lib/rustc/$(2)/intrinsics.bc |
| 77 | + $(Q)rm -f stage$(1)/lib/rustc/$(2)/main.o |
| 78 | + |
| 79 | +endef |
| 80 | + |
| 81 | +$(foreach target, $(CFG_TARGET_TRIPLES), \ |
| 82 | + $(eval $(call CLEAN_STAGE_N,0,$(target))) \ |
| 83 | + $(eval $(call CLEAN_STAGE_N,1,$(target))) \ |
| 84 | + $(eval $(call CLEAN_STAGE_N,2,$(target))) \ |
| 85 | + $(eval $(call CLEAN_STAGE_N,3,$(target)))) |
0 commit comments