#
# 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
-# location where a project Makefile was invoked. It is set by looking at the
-# current value of TOP.
-#
+# $(FPTOOLS_TOP) is the old name for $(TOP), kept for backwards compat
FPTOOLS_TOP := $(TOP)
# THIS RULE MUST REMAIN FIRST!
default: all
+#------------------------------------------------------------
+# Makefile debugging
+# to see the effective value used for a Makefile variable, do
+# make show VALUE=MY_VALUE
+#
+
+show:
+ @echo '$(VALUE)="$($(VALUE))"'
+# -----------------------------------------------------------------------------
+# 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
# 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
-#
+include $(TOP)/mk/custom-settings.mk
ifndef FAST
-include .depend
endif
# The dependencies file from the current directory
-