From 1c908f2084aaa17d4bfeade34de278c030f53fd5 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Tue, 26 Aug 2014 14:42:29 +0100 Subject: [PATCH] Add missing clean-* make targets. Some more recent Servo crates were not cleaned by `make servo-clean`. --- mk/clean.mk | 30 +++++++++--------------------- mk/main.mk | 4 ++-- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/mk/clean.mk b/mk/clean.mk index e8f7c55c8c0..eae11cb720a 100644 --- a/mk/clean.mk +++ b/mk/clean.mk @@ -25,43 +25,31 @@ clean-fast: $(DEPS_CLEAN_TARGETS_FAST) clean-servo @$(call E, "cleaning:") @$(call E, " $(filter-out $(SLOW_BUILDS),$(DEPS_CLEAN_ALL))") -clean-util: - @$(call E, "cleaning util") - $(Q)cd $(B)/src/components/util/ && rm -rf libutil*.dylib libutil*.rlib libutil*.dSYM libutil*.so $(DONE_util) - clean-embedding: @$(call E, "cleaning embedding") $(Q)cd $(B)/src/components/embedding/ && rm -rf libembedding*.dylib libembedding*.dSYM libembedding*.so $(DONE_embedding) -clean-msg: - @$(call E, "cleaning msg") - $(Q)cd $(B)/src/components/msg/ && rm -rf libmsg*.dylib libmsg*.rlib libmsg*.dSYM libmsg*.so $(DONE_msg) +define DEF_CLEAN_SERVO_RULES -clean-net: - @$(call E, "cleaning net") - $(Q)cd $(B)/src/components/net/ && rm -rf libnet*.dylib libnet*.rlib libnet*.dSYM libnet*.so $(DONE_net) +.PHONY: clean-$(1) +clean-$(1): + @$$(call E, "cleaning $(1)") + $$(Q)cd $$(B)/src/components/$(1)/ && rm -rf lib$(1)*.dylib lib$(1)*.rlib lib$(1)*.dSYM lib$(1)*.so $$(DONE_$(1)) -clean-gfx: - @$(call E, "cleaning gfx") - $(Q)cd $(B)/src/components/gfx/ && rm -rf libgfx*.dylib libgfx*.rlib libgfx*.dSYM libgfx*.so $(DONE_gfx) +endef -clean-script: - @$(call E, "cleaning script") - $(Q)cd $(B)/src/components/script/ && rm -rf libscript*.dylib libscript*.rlib libscript*.dSYM libscript*.so $(DONE_script) && find $(S)/src/components/script/ -name \*.pyc -delete +$(foreach lib_crate,$(SERVO_LIB_CRATES),$(eval $(call DEF_CLEAN_SERVO_RULES,$(lib_crate)))) -clean-style: - @$(call E, "cleaning style") - $(Q)cd $(B)/src/components/style/ && rm -rf libstyle*.dylib libstyle*.rlib libstyle*.dSYM libstyle*.so $(DONE_style) clean-wpt: $(Q)rm -r _virtualenv $(Q)rm $(S)/src/test/wpt/metadata/MANIFEST.json -clean-servo: clean-gfx clean-util clean-embedding clean-net clean-script clean-msg clean-style +clean-servo: $(foreach lib_crate,$(SERVO_LIB_CRATES),clean-$(lib_crate)) @$(call E, "cleaning servo") $(Q)rm -f servo servo-test $(foreach lib_crate,$(SERVO_LIB_CRATES),servo-test-$(lib_crate)) libservo*.so libservo*.a $(Q)cd $(BINDINGS_SRC) && rm -f *.pkl *.rs clean-rust-snapshot-archives: @$(call E, "cleaning rust snapshot archives") - $(Q)cd $(B)/rust_snapshot/ && rm -rf *.tgz \ No newline at end of file + $(Q)cd $(B)/rust_snapshot/ && rm -rf *.tgz diff --git a/mk/main.mk b/mk/main.mk index 56694e15c82..24e4726899f 100644 --- a/mk/main.mk +++ b/mk/main.mk @@ -364,10 +364,10 @@ RFLAGS_servo = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components SRC_servo = $(call rwildcard,$(S)src/components/main/,*.rs) CRATE_servo = $(S)src/components/main/servo.rs -DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(DONE_util) $(DONE_gfx) $(DONE_script) $(DONE_net) $(DONE_msg) $(DONE_style) $(DONE_macros) $(DONE_layout) $(DONE_layout_traits) $(DONE_script_traits) $(DONE_compositing) - SERVO_LIB_CRATES = macros util net msg gfx script script_traits style layout layout_traits compositing +DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(foreach lib_crate,$(SERVO_LIB_CRATES),$(DONE_$(lib_crate))) + # rules that depend on having correct meta-target vars (DEPS_CLEAN, DEPS_servo, etc) # and SERVO_LIB_CRATES include $(S)mk/check.mk