diff --git a/mk/check.mk b/mk/check.mk index fbc2592d46a..03e6e49be3a 100644 --- a/mk/check.mk +++ b/mk/check.mk @@ -26,11 +26,14 @@ reftest: $(S)src/reftest/reftest.rs servo contenttest: $(S)src/contenttest/contenttest.rs servo $(RUSTC) $(RFLAGS_servo) -o $@ $< -L . -.PHONY: check $(DEPS_CHECK_ALL) +DEPS_CHECK_TARGETS_ALL = $(addprefix check-,$(DEPS_CHECK_ALL)) +DEPS_CHECK_TARGETS_FAST = $(addprefix check-,$(filter-out $(SLOW_TESTS),$(DEPS_CHECK_ALL))) -check: $(addprefix check-,$(filter-out $(SLOW_TESTS),$(DEPS_CHECK_ALL))) check-servo +.PHONY: check $(DEPS_CHECK_TARGETS_ALL) -check-all: $(addprefix check-,$(DEPS_CHECK_ALL)) check-servo +check: $(DEPS_CHECK_TARGETS_FAST) check-servo + +check-all: $(DEPS_CHECK_TARGETS_ALL) check-servo check-servo: servo-test ./servo-test $(TESTNAME) diff --git a/mk/clean.mk b/mk/clean.mk index bc6fee79478..764a0d611aa 100644 --- a/mk/clean.mk +++ b/mk/clean.mk @@ -6,15 +6,24 @@ clean-$(1) : $$(Q)$$(MAKE) -C $$(B)src/$(1) clean # add these targets to meta-targets -DEPS_CLEAN += clean-$(1) +DEPS_CLEAN_ALL += $(1) endef $(foreach submodule,$(CFG_SUBMODULES),\ $(eval $(call DEF_SUBMODULE_CLEAN_RULES,$(submodule)))) -.PHONY: clean $(DEPS_CLEAN) +DEPS_CLEAN_TARGETS_ALL = $(addprefix clean-,$(DEPS_CLEAN_ALL)) +DEPS_CLEAN_TARGETS_FAST = $(addprefix clean-,$(filter-out $(SLOW_BUILDS),$(DEPS_CLEAN_ALL))) -clean: $(DEPS_CLEAN) clean-servo +.PHONY: clean $(DEPS_CLEAN_TARGETS_ALL) + +clean: $(DEPS_CLEAN_TARGETS_ALL) clean-servo + $(Q)echo "Cleaning targets:" + $(Q)echo "$(DEPS_CLEAN_ALL)" + +clean-fast: $(DEPS_CLEAN_TARGETS_FAST) clean-servo + $(Q)echo "Cleaning targets:" + $(Q)echo "$(filter-out $(SLOW_BUILDS),$(DEPS_CLEAN_ALL))" clean-servo: rm -f servo servo-test diff --git a/mk/sub.mk b/mk/sub.mk index 8b6a6e4019c..ac1206fed61 100644 --- a/mk/sub.mk +++ b/mk/sub.mk @@ -3,6 +3,15 @@ SLOW_TESTS += \ mozjs \ $(NULL) +# These submodules will not be cleaned by the `make clean-fast` target. +SLOW_BUILDS += \ + libcss \ + libparserutils \ + libwapcaplet \ + mozjs \ + sharegl \ + skia \ + $(NULL) # NOTE: the make magic can only compute transitive build dependencies, # not transitive link flags. So, if A -> B -> C, must add A as a dep