X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc.mk;h=f223fd8a76463c34c2bc0c4cbeb0fd5a0053609d;hb=69ba5ae046c4092f544205dd7ce23969bc85b50b;hp=cd4682f2c3f2ca09ea28171777208aba1c5935f6;hpb=ab4643fd44a2ac020bbc86aa52c1f57c4da7d1c9;p=ghc-hetmet.git diff --git a/ghc.mk b/ghc.mk index cd4682f..f223fd8 100644 --- a/ghc.mk +++ b/ghc.mk @@ -134,9 +134,9 @@ show: # ----------------------------------------------------------------------------- # Include subsidiary build-system bits -ifneq "$(findstring clean,$(MAKECMDGOALS))" "" --include mk/config.mk -else +include mk/tree.mk + +ifeq "$(findstring clean,$(MAKECMDGOALS))" "" include mk/config.mk ifeq "$(ProjectVersion)" "" $(error Please run ./configure first) @@ -213,6 +213,10 @@ include rules/c-objs.mk # ----------------------------------------------------------------------------- # Suffix rules +# Suffix rules cause "make clean" to fail on Windows (trac #3233) +# so we don't make any when cleaning. +ifneq "$(CLEANING)" "YES" + include rules/hs-suffix-rules-srcdir.mk include rules/hs-suffix-rules.mk @@ -229,6 +233,8 @@ $(foreach way,$(ALL_WAYS),\ include rules/c-suffix-rules.mk +endif + # ----------------------------------------------------------------------------- # Building package-data.mk files from .cabal files @@ -320,7 +326,6 @@ endif PACKAGES += haskeline -ifneq "$(wildcard libraries/dph)" "" PACKAGES_STAGE2 += \ dph/dph-base \ dph/dph-prim-interface \ @@ -328,7 +333,6 @@ PACKAGES_STAGE2 += \ dph/dph-prim-par \ dph/dph-seq \ dph/dph-par -endif BOOT_PKGS = Cabal hpc extensible-exceptions @@ -485,13 +489,18 @@ endif BUILD_DIRS += \ utils/haddock \ - utils/haddock/doc \ - $(patsubst %, libraries/%, $(PACKAGES)) \ - $(patsubst %, libraries/%, $(PACKAGES_STAGE2)) \ + utils/haddock/doc + +ifneq "$(CLEANING)" "YES" +BUILD_DIRS += \ + $(patsubst %, libraries/%, $(PACKAGES) $(PACKAGES_STAGE2)) \ + libraries/dph +endif + +BUILD_DIRS += \ compiler \ $(GHC_HSC2HS_DIR) \ $(GHC_PKG_DIR) \ - utils/hasktags \ utils/hpc \ utils/runghc \ ghc @@ -522,7 +531,6 @@ ifneq "$(findstring $(phase),0 1 2 3)" "" utils/haddock_dist_DISABLE = YES utils/runghc_dist_DISABLE = YES utils/hpc_dist_DISABLE = YES -utils/hasktags_dist_DISABLE = YES utils/hsc2hs_dist-install_DISABLE = YES utils/ghc-pkg_dist-install_DISABLE = YES compiler_stage2_DISABLE = YES @@ -533,9 +541,6 @@ $(foreach lib,$(PACKAGES) $(PACKAGES_STAGE2),$(eval \ libraries/$(lib)_dist-install_DISABLE = YES)) endif -ifneq "$(wildcard libraries/dph)" "" -include libraries/dph/ghc.mk -endif include $(patsubst %, %/ghc.mk, $(BUILD_DIRS)) # We need -fno-warn-deprecated-flags to avoid failure with -Werror @@ -744,6 +749,7 @@ $(eval $(call bindist,.,\ $(filter-out %/project.mk,$(filter-out mk/config.mk,$(MAKEFILE_LIST))) \ mk/fix_install_names.sh \ mk/project.mk \ + libraries/dph/LICENSE \ )) # mk/project.mk gets an absolute path, so we manually include it in # the bindist with a relative path @@ -877,6 +883,9 @@ clean : clean_files .PHONY: clean_files clean_files : $(RM) $(CLEAN_FILES) + $(RM) -r $(patsubst %, libraries/%/dist, $(PACKAGES) $(PACKAGES_STAGE2)) + $(RM) -r $(patsubst %, libraries/%/dist-install, $(PACKAGES) $(PACKAGES_STAGE2)) + $(RM) -r $(patsubst %, libraries/%/dist-boot, $(PACKAGES) $(PACKAGES_STAGE2)) distclean : clean $(RM) config.cache config.status config.log mk/config.h mk/stamp-h @@ -888,6 +897,10 @@ distclean : clean $(RM) libraries/process/include/HsProcessConfig.h $(RM) libraries/unix/include/HsUnixConfig.h $(RM) libraries/old-time/include/HsTimeConfig.h + $(RM) $(patsubst %, libraries/%/config.log, $(PACKAGES) $(PACKAGES_STAGE2)) + $(RM) $(patsubst %, libraries/%/config.status, $(PACKAGES) $(PACKAGES_STAGE2)) + $(RM) $(patsubst %, libraries/%/include/Hs*Config.h, $(PACKAGES) $(PACKAGES_STAGE2)) + $(RM) -r $(patsubst %, libraries/%/autom4te.cache, $(PACKAGES) $(PACKAGES_STAGE2)) maintainer-clean : distclean $(RM) configure mk/config.h.in