X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fsub-makefile.mk;h=fdaf830eef0b14945bf467d8de1d9052a4c79ed2;hb=d8d65a2939fbbab478c895de5f432cb0da869709;hp=989c0c91b9ab93052cdc7c0414f4414dcc8a9267;hpb=f684f630a90eea64a13542c3bb0a1ab54a5067b7;p=ghc-hetmet.git diff --git a/mk/sub-makefile.mk b/mk/sub-makefile.mk index 989c0c9..fdaf830 100644 --- a/mk/sub-makefile.mk +++ b/mk/sub-makefile.mk @@ -16,24 +16,41 @@ TOPMAKE = $(MAKE) -C $(TOP) default: all -fast : - +$(TOPMAKE) all_$(dir) $(dir)_dist-install_NO_BUILD_DEPS=YES \ - OMIT_PHASE_1=YES OMIT_PHASE_2=YES OMIT_PHASE_3=YES +fast: all + +FAST_MAKE_OPTS =\ + $(dir)_dist_NO_BUILD_DEPS=YES \ + $(dir)_dist-boot_NO_BUILD_DEPS=YES \ + $(dir)_dist-install_NO_BUILD_DEPS=YES \ + NO_GENERATED_MAKEFILE_RULES=YES \ + OMIT_PHASE_0=YES OMIT_PHASE_1=YES + +ifneq "$(filter fast,$(MAKECMDGOALS))" "" +EXTRA_MAKE_OPTS += $(FAST_MAKE_OPTS) +else +ifeq "$(FAST)" "YES" +EXTRA_MAKE_OPTS += $(FAST_MAKE_OPTS) +endif +endif # We must not execute multiple recursive invocations of make in parallel. .NOTPARALLEL: STD_TARGETS = all clean distclean maintainer_clean install html ps pdf +DIRECTORY_INDEPENDENT_TARGETS = show # The + tells make that we're recursively invoking make, otherwise 'make -j2' # goes wrong. $(STD_TARGETS): - +$(TOPMAKE) $@_$(dir) + +$(TOPMAKE) $@_$(dir) $(EXTRA_MAKE_OPTS) -OTHERTARGETS=$(filter-out fast help $(STD_TARGETS) $(SPEC_TARGETS),$(MAKECMDGOALS)) +$(DIRECTORY_INDEPENDENT_TARGETS): + +$(TOPMAKE) $@ $(EXTRA_MAKE_OPTS) + +OTHERTARGETS=$(filter-out fast help show $(STD_TARGETS) $(SPEC_TARGETS),$(MAKECMDGOALS)) .PHONY: $(OTHERTARGETS) $(OTHERTARGETS): - +$(TOPMAKE) $(dir)/$@ + +$(TOPMAKE) $(dir)/$@ $(EXTRA_MAKE_OPTS) .PHONY: help help : sub-help