X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fboilerplate.mk;h=bb6483aa6a1bdcb0ae97081be146df2c4ee3c2b4;hb=1f81c9b1f21945b2e6772828576e766e6f1238cf;hp=0f78b67daaaf4667cea2e54cfd19e03e3bdd1510;hpb=7c042349815db6d349586fda9fdcb99460a01e35;p=ghc-hetmet.git diff --git a/mk/boilerplate.mk b/mk/boilerplate.mk index 0f78b67..bb6483a 100644 --- a/mk/boilerplate.mk +++ b/mk/boilerplate.mk @@ -26,9 +26,46 @@ FPTOOLS_TOP := $(TOP) default: all +# ----------------------------------------------------------------------------- +# make sure the autoconf stuff is up to date... + +$(TOP)/configure : $(TOP)/configure.ac $(TOP)/aclocal.m4 + @echo "Running autoreconf in $(FPTOOLS_TOP) ..." + @( cd $(FPTOOLS_TOP) && autoreconf ) + +$(TOP)/config.status : $(TOP)/configure + @if test ! -f $(FPTOOLS_TOP)/config.status; then \ + echo "You haven't run $(FPTOOLS_TOP)/configure yet."; \ + exit 1; \ + fi + echo "configure changed, reconfiguring with same settings..."; \ + ( cd $(FPTOOLS_TOP) && ./config.status --recheck ); \ + +$(TOP)/mk/config.mk : $(TOP)/mk/config.mk.in $(TOP)/mk/config.h.in $(TOP)/configure $(TOP)/config.status + @echo "Running $(FPTOOLS_TOP)/config.status to update configuration info..."; + @( cd $(FPTOOLS_TOP) && ./config.status ) + +# ----------------------------------------------------------------------------- +# 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 + + +# 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 +# ----------------------------------------------------------------------------- +# 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,8 +83,9 @@ 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 @@ -57,4 +95,3 @@ ifndef FAST -include .depend endif # The dependencies file from the current directory -