Remove hacky on-demand building of libraries/*/ghc.mk, put it back in sh boot
authorSimon Marlow <marlowsd@gmail.com>
Fri, 22 May 2009 08:33:51 +0000 (08:33 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Fri, 22 May 2009 08:33:51 +0000 (08:33 +0000)
Now that the clean rules don't require libraries/*/ghc.mk, we don't
have to build them on demand.  And having them built on demand
introduced a failure mode (where some libraries have ghc.mk and some
don't).

Makefile
boot

index ec55261..28328b3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -43,17 +43,13 @@ endif
 
 include mk/custom-settings.mk
 
 
 include mk/custom-settings.mk
 
-PACKAGE_MK=libraries/base/ghc.mk
-$(PACKAGE_MK):
-       sh boot-pkgs
-
 # No need to update makefiles for these targets:
 REALGOALS=$(filter-out bootstrapping-files framework-pkg clean clean_% distclean maintainer-clean show,$(MAKECMDGOALS))
 
 # NB. not the same as saying '%: ...', which doesn't do the right thing:
 # it does nothing if we specify a target that already exists.
 .PHONY: $(REALGOALS)
 # No need to update makefiles for these targets:
 REALGOALS=$(filter-out bootstrapping-files framework-pkg clean clean_% distclean maintainer-clean show,$(MAKECMDGOALS))
 
 # NB. not the same as saying '%: ...', which doesn't do the right thing:
 # it does nothing if we specify a target that already exists.
 .PHONY: $(REALGOALS)
-$(REALGOALS) all: $(PACKAGE_MK)
+$(REALGOALS) all:
        @echo "===--- updating makefiles phase 0"
        $(MAKE) -r --no-print-directory -f ghc.mk phase=0 just-makefiles
 ifneq "$(OMIT_PHASE_1)" "YES"
        @echo "===--- updating makefiles phase 0"
        $(MAKE) -r --no-print-directory -f ghc.mk phase=0 just-makefiles
 ifneq "$(OMIT_PHASE_1)" "YES"
@@ -83,7 +79,7 @@ clean distclean maintainer-clean:
 $(filter clean_%, $(MAKECMDGOALS)) : clean_% :
        $(MAKE) -r --no-print-directory -f ghc.mk $@ CLEANING=YES
 
 $(filter clean_%, $(MAKECMDGOALS)) : clean_% :
        $(MAKE) -r --no-print-directory -f ghc.mk $@ CLEANING=YES
 
-bootstrapping-files show: $(PACKAGE_MK)
+bootstrapping-files show:
        $(MAKE) -r --no-print-directory -f ghc.mk $@
 
 ifeq "$(darwin_TARGET_OS)" "1"
        $(MAKE) -r --no-print-directory -f ghc.mk $@
 
 ifeq "$(darwin_TARGET_OS)" "1"
diff --git a/boot b/boot
index 78c9295..6f6b879 100644 (file)
--- a/boot
+++ b/boot
@@ -30,3 +30,6 @@ do
         chmod +x $f
     fi
 done
         chmod +x $f
     fi
 done
+
+# Create libraries/*/{ghc.mk,GNUmakefile}
+sh boot-pkgs