servo/mk/clean.mk
2014-05-01 16:58:33 -04:00

63 lines
2.2 KiB
Makefile

define DEF_SUBMODULE_CLEAN_RULES
# clean target
clean-$(1) :
@$$(call E, make clean: $(1))
$$(Q)rm -f $$(DONE_$(1))
$$(Q)$$(MAKE) -C $$(B)src/$$(PATH_$(1)) clean
# add these targets to meta-targets
DEPS_CLEAN_ALL += $(1)
endef
$(foreach submodule,$(SUBMODULES),\
$(eval $(call DEF_SUBMODULE_CLEAN_RULES,$(submodule))))
DEPS_CLEAN_TARGETS_ALL = $(addprefix clean-,$(DEPS_CLEAN_ALL))
DEPS_CLEAN_TARGETS_FAST = $(addprefix clean-,$(filter-out $(SLOW_BUILDS),$(DEPS_CLEAN_ALL)))
.PHONY: clean $(DEPS_CLEAN_TARGETS_ALL)
clean: $(DEPS_CLEAN_TARGETS_ALL) clean-servo
@$(call E, "cleaning:")
@$(call E, " $(DEPS_CLEAN_ALL)")
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)
clean-net:
@$(call E, "cleaning net")
$(Q)cd $(B)/src/components/net/ && rm -rf libnet*.dylib libnet*.rlib libnet*.dSYM libnet*.so $(DONE_net)
clean-gfx:
@$(call E, "cleaning gfx")
$(Q)cd $(B)/src/components/gfx/ && rm -rf libgfx*.dylib libgfx*.rlib libgfx*.dSYM libgfx*.so $(DONE_gfx)
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
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
@$(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