fix haddock submodule pointer
[ghc-hetmet.git] / mk / sub-makefile.mk
index a1d1e9b..fdaf830 100644 (file)
@@ -16,21 +16,47 @@ 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 $(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
+
+.PHONY: sub-help
+sub-help :
+       @echo "You are in subdirectory \"$(dir)\"."
+       @echo "Useful targets in this directory:"
+       @cat $(TOP)/SUBMAKEHELP