Add WAY_debug_t_NAME and WAY_debug_t_HC_OPTS
[ghc-hetmet.git] / mk / boilerplate.mk
index c8cd897..9603bf2 100644 (file)
@@ -2,10 +2,10 @@
 #
 #                          mk/boilerplate.mk
 #
-#              The Glorious fptools Boilerplate Makefile
+#              The Glorious GHC Boilerplate Makefile
 #
 # This one file should be included (directly or indirectly) by all Makefiles 
-# in the fptools hierarchy.
+# in the GHC hierarchy.
 #
 #################################################################################
 
 # Setting .SUFFIXES to empty disables them all.
 MAKEFLAGS += --no-builtin-rules
 
-# FPTOOLS_TOP is the *relative* path to the fptools toplevel directory from the
+# GHC_TOP is the *relative* path to the fptools toplevel directory from the
 # location where a project Makefile was invoked. It is set by looking at the
 # current value of TOP.
 #
+GHC_TOP := $(TOP)
+
+# $(FPTOOLS_TOP) is the old name for $(GHC_TOP), kept for backwards compat
 FPTOOLS_TOP := $(TOP)
 
 
@@ -25,10 +28,27 @@ FPTOOLS_TOP := $(TOP)
 #              THIS RULE MUST REMAIN FIRST!
 default: all
 
+# -----------------------------------------------------------------------------
+# Misc bits
+
+# If $(way) is set then we define $(way_) and $(_way) from it in the
+# obvious fashion.  This must be done before suffix.mk is included,
+# because the pattern rules in that file depend on these variables.
+
+ifneq "$(way)" ""
+  way_ := $(way)_
+  _way := _$(way)
+endif
 
 
-#              Now follow the pieces of boilerplate
-#              The "-" signs tell make not to complain if they don't exist
+# When using $(patsubst ...) and friends, you can't use a literal comma
+# freely - so we use ${comma} instead.  (See PACKAGE_CPP_OPTS in package.mk
+# for an example usage.)
+comma=,
+
+# -----------------------------------------------------------------------------
+#      Now follow the pieces of boilerplate
+#      The "-" signs tell make not to complain if they don't exist
 
 include $(TOP)/mk/config.mk
 # All configuration information
@@ -46,13 +66,15 @@ include $(TOP)/mk/opts.mk
 # Variables that control the option flags for all the
 # language processors
 
-include $(TOP)/mk/suffix.mk
-# Suffix rules for Haskell, C and literate 
+ifeq "$(BootingFromHc)" "YES"
+include $(TOP)/mk/bootstrap.mk
+endif
 
 -include $(TOP)/mk/build.mk
 # (Optional) build-specific configuration
 #
 
+ifndef FAST
 -include .depend
+endif
 # The dependencies file from the current directory
-