X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Fboilerplate.mk;h=9603bf255f28f53baf70ec6b95cfb6300f04a954;hp=c8cd897a182f9ea73d705ec5666a59e9b74b4e4f;hb=fd1375dd261725eb00969a3017b924369c09835c;hpb=1fb1ab5d53a09607e7f6d2450806760688396387 diff --git a/mk/boilerplate.mk b/mk/boilerplate.mk index c8cd897..9603bf2 100644 --- a/mk/boilerplate.mk +++ b/mk/boilerplate.mk @@ -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. # ################################################################################# @@ -14,10 +14,13 @@ # 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 -