Commit e257cdbf authored by Ian Lynagh's avatar Ian Lynagh

Don't require the library ghc.mk files in order to clean

parent cc6b470e
...@@ -43,8 +43,6 @@ endif ...@@ -43,8 +43,6 @@ endif
include mk/custom-settings.mk include mk/custom-settings.mk
# If the package ghc.mk files are missing, generate them. This means that
# repeating 'make maintainer-clean' works.
PACKAGE_MK=libraries/base/ghc.mk PACKAGE_MK=libraries/base/ghc.mk
$(PACKAGE_MK): $(PACKAGE_MK):
sh boot-pkgs sh boot-pkgs
...@@ -67,16 +65,16 @@ $(REALGOALS) all: $(PACKAGE_MK) ...@@ -67,16 +65,16 @@ $(REALGOALS) all: $(PACKAGE_MK)
@echo "===--- finished updating makefiles" @echo "===--- finished updating makefiles"
$(MAKE) -r --no-print-directory -f ghc.mk $@ $(MAKE) -r --no-print-directory -f ghc.mk $@
binary-dist: $(PACKAGE_MK) binary-dist:
rm -f bindist-list rm -f bindist-list
$(MAKE) -r --no-print-directory -f ghc.mk bindist BINDIST=YES $(MAKE) -r --no-print-directory -f ghc.mk bindist BINDIST=YES
$(MAKE) -r --no-print-directory -f ghc.mk binary-dist $(MAKE) -r --no-print-directory -f ghc.mk binary-dist
clean distclean maintainer-clean: $(PACKAGE_MK) clean distclean maintainer-clean:
$(MAKE) -r --no-print-directory -f ghc.mk $@ $(MAKE) -r --no-print-directory -f ghc.mk $@ CLEANING=YES
test ! -d testsuite || $(MAKE) -C testsuite $@ test ! -d testsuite || $(MAKE) -C testsuite $@
$(filter clean_%, $(MAKECMDGOALS)) : clean_% : $(PACKAGE_MK) $(filter clean_%, $(MAKECMDGOALS)) : clean_% :
$(MAKE) -r --no-print-directory -f ghc.mk $@ $(MAKE) -r --no-print-directory -f ghc.mk $@
show: $(PACKAGE_MK) show: $(PACKAGE_MK)
......
...@@ -134,9 +134,7 @@ show: ...@@ -134,9 +134,7 @@ show:
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Include subsidiary build-system bits # Include subsidiary build-system bits
ifneq "$(findstring clean,$(MAKECMDGOALS))" "" ifeq "$(findstring clean,$(MAKECMDGOALS))" ""
-include mk/config.mk
else
include mk/config.mk include mk/config.mk
ifeq "$(ProjectVersion)" "" ifeq "$(ProjectVersion)" ""
$(error Please run ./configure first) $(error Please run ./configure first)
...@@ -483,10 +481,15 @@ endif ...@@ -483,10 +481,15 @@ endif
BUILD_DIRS += \ BUILD_DIRS += \
utils/haddock \ utils/haddock \
utils/haddock/doc \ utils/haddock/doc
$(patsubst %, libraries/%, $(PACKAGES)) \
$(patsubst %, libraries/%, $(PACKAGES_STAGE2)) \ ifneq "$(CLEANING)" "YES"
libraries/dph \ BUILD_DIRS += \
$(patsubst %, libraries/%, $(PACKAGES) $(PACKAGES_STAGE2)) \
libraries/dph
endif
BUILD_DIRS += \
compiler \ compiler \
$(GHC_HSC2HS_DIR) \ $(GHC_HSC2HS_DIR) \
$(GHC_PKG_DIR) \ $(GHC_PKG_DIR) \
...@@ -871,6 +874,9 @@ clean : clean_files ...@@ -871,6 +874,9 @@ clean : clean_files
.PHONY: clean_files .PHONY: clean_files
clean_files : clean_files :
$(RM) $(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 distclean : clean
$(RM) config.cache config.status config.log mk/config.h mk/stamp-h $(RM) config.cache config.status config.log mk/config.h mk/stamp-h
...@@ -882,6 +888,10 @@ distclean : clean ...@@ -882,6 +888,10 @@ distclean : clean
$(RM) libraries/process/include/HsProcessConfig.h $(RM) libraries/process/include/HsProcessConfig.h
$(RM) libraries/unix/include/HsUnixConfig.h $(RM) libraries/unix/include/HsUnixConfig.h
$(RM) libraries/old-time/include/HsTimeConfig.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 maintainer-clean : distclean
$(RM) configure mk/config.h.in $(RM) configure mk/config.h.in
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment