summaryrefslogtreecommitdiff
path: root/ghc.mk
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-07-03 11:46:38 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-07-03 11:46:38 +0000
commitf50ef4da0b1a647e82dd122f6605a4166546b63e (patch)
tree52b268408269e18a6dde55127a0bfe86a5f59d54 /ghc.mk
parent8897e76874e10daa4dc695342e68b15e114a6de0 (diff)
downloadhaskell-f50ef4da0b1a647e82dd122f6605a4166546b63e.tar.gz
fix cleaning of libraries (now 'make clean' in libraries/* works again)
Diffstat (limited to 'ghc.mk')
-rw-r--r--ghc.mk13
1 files changed, 11 insertions, 2 deletions
diff --git a/ghc.mk b/ghc.mk
index 165bdbc6a3..ddd118796e 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -905,12 +905,20 @@ clean_files :
"$(RM)" $(RM_OPTS) $(CLEAN_FILES)
.PHONY: clean_libraries
+clean_libraries: $(patsubst %,clean_libraries/%_dist-install,$(PACKAGES) $(PACKAGES_STAGE2))
+clean_libraries: $(patsubst %,clean_libraries/%_dist-boot,$(BOOT_PKGS))
+
clean_libraries:
"$(RM)" $(RM_OPTS) -r $(patsubst %, libraries/%/dist, $(PACKAGES) $(PACKAGES_STAGE2))
- "$(RM)" $(RM_OPTS) -r $(patsubst %, libraries/%/dist-install, $(PACKAGES) $(PACKAGES_STAGE2))
- "$(RM)" $(RM_OPTS) -r $(patsubst %, libraries/%/dist-boot, $(PACKAGES) $(PACKAGES_STAGE2))
"$(RM)" $(RM_OPTS) $(patsubst %, libraries/%/*.buildinfo, $(PACKAGES) $(PACKAGES_STAGE2))
+# We have to define a clean target for each library manually, because the
+# libraries/*/ghc.mk files are not included when we're cleaning.
+ifeq "$(CLEANING)" "YES"
+$(foreach lib,$(PACKAGES) $(PACKAGES_STAGE2),\
+ $(eval $(call clean-target,libraries/$(lib),dist-install,libraries/$(lib)/dist-install)))
+endif
+
distclean : clean
"$(RM)" $(RM_OPTS) config.cache config.status config.log mk/config.h mk/stamp-h
"$(RM)" $(RM_OPTS) mk/config.mk mk/are-validating.mk mk/project.mk
@@ -921,6 +929,7 @@ distclean : clean
"$(RM)" $(RM_OPTS) libraries/process/include/HsProcessConfig.h
"$(RM)" $(RM_OPTS) libraries/unix/include/HsUnixConfig.h
"$(RM)" $(RM_OPTS) libraries/old-time/include/HsTimeConfig.h
+
"$(RM)" $(RM_OPTS) $(patsubst %, libraries/%/config.log, $(PACKAGES) $(PACKAGES_STAGE2))
"$(RM)" $(RM_OPTS) $(patsubst %, libraries/%/config.status, $(PACKAGES) $(PACKAGES_STAGE2))
"$(RM)" $(RM_OPTS) $(patsubst %, libraries/%/include/Hs*Config.h, $(PACKAGES) $(PACKAGES_STAGE2))