Add --supported-languages support to dummy-ghc
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index 9ba50fe..dd11adf 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -39,8 +39,6 @@
 #
 #   * per-source-file dependencies instead of one .depend file?
 #   * eliminate undefined variables, and use --warn-undefined-variables?
-#   * perhaps we should make all the output dirs in the .depend rule, to
-#     avoid all these mkdirhier calls?
 #   * put outputs from different ways in different subdirs of distdir/build,
 #     then we don't have to use -osuf/-hisuf.  We would have to install
 #     them in different places too, so we'd need ghc-pkg support for packages
 
 .PHONY: default all haddock
 
+# We need second expansion for the way we handle directories, so that
+#     | $$$$(dir $$$$@)/.
+# expands to the directoy of a rule that uses a % pattern.
+.SECONDEXPANSION:
+
 default : all
 
 # Catch make if it runs away into an infinite loop
@@ -398,6 +401,15 @@ rts/package.conf.inplace : libffi/package.conf.inplace
 endif
 
 # -----------------------------------------------------------------------------
+# Directories
+
+# Don't try to delete directories:
+.PRECIOUS: %/.
+
+%/. : $(MKDIRHIER)
+       "$(MKDIRHIER)" $@
+
+# -----------------------------------------------------------------------------
 # Special magic for the ghc-prim package
 
 # We want the ghc-prim package to include the GHC.Prim module when it
@@ -417,8 +429,7 @@ endef
 
 PRIMOPS_TXT = $(GHC_COMPILER_DIR)/prelude/primops.txt
 
-libraries/ghc-prim/dist-install/build/GHC/PrimopWrappers.hs : $(GENPRIMOP_INPLACE) $(PRIMOPS_TXT)
-       "$(MKDIRHIER)" $(dir $@)
+libraries/ghc-prim/dist-install/build/GHC/PrimopWrappers.hs : $(GENPRIMOP_INPLACE) $(PRIMOPS_TXT) | $$(dir $$@)/.
        "$(GENPRIMOP_INPLACE)" --make-haskell-wrappers <$(PRIMOPS_TXT) >$@
 
 libraries/ghc-prim/GHC/Prim.hs : $(GENPRIMOP_INPLACE) $(PRIMOPS_TXT)
@@ -702,13 +713,13 @@ libraries/ghc-prim/dist-install/doc/html/ghc-prim/ghc-prim.haddock: \
     libraries/ghc-prim/dist-install/build/autogen/GHC/PrimopWrappers.hs
 
 libraries/ghc-prim/dist-install/build/autogen/GHC/Prim.hs: \
-                            $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) $(MKDIRHIER)
-       "$(MKDIRHIER)" $(dir $@)
+                            $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) \
+                          | $$(dir $$@)/.
        "$(GENPRIMOP_INPLACE)" --make-haskell-source < $< > $@
 
 libraries/ghc-prim/dist-install/build/autogen/GHC/PrimopWrappers.hs: \
-                            $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) $(MKDIRHIER)
-       "$(MKDIRHIER)" $(dir $@)
+                            $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) \
+                          | $$(dir $$@)/.
        "$(GENPRIMOP_INPLACE)" --make-haskell-wrappers < $< > $@
 
 # -----------------------------------------------------------------------------
@@ -804,7 +815,7 @@ INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(bindir)/ghc-pkg.exe
 endif
 
 INSTALLED_PACKAGES = $(filter-out haskeline mtl terminfo,$(PACKAGES))
-HIDDEN_PACKAGES = ghc-binary
+HIDDEN_PACKAGES = binary
 
 install_packages: install_libexecs
 install_packages: libffi/package.conf.install rts/package.conf.install