X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fbuild.mk.sample;h=c49fd0355936b607309513e535297a28b5daa31c;hb=c6d2c108a2c0f8b686dbae5f01171d9199ab7046;hp=8541e51c48ffa686c6c2f1d77f5b6bdd8fc72129;hpb=dbeedb1e510b750d87c542ec1755bf41b41ee3e9;p=ghc-hetmet.git diff --git a/mk/build.mk.sample b/mk/build.mk.sample index 8541e51..c49fd03 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -7,54 +7,114 @@ # Uncomment one of these to select a build profile below: -#BuildFlavour = devel +# Full build with max optimisation (slow build) #BuildFlavour = perf -# Which warnings we like to use -MyWarningOpts = -W -fno-warn-unused-matches -fwarn-unused-imports +# Fastest build (libs unoptimised): +#BuildFlavour = quickest -# -------- 1. A Development build -------------------------------------------- +# Fast build with optimised libraries: +#BuildFlavour = quick -ifeq "$(BuildFlavour)" "devel" +# A development build, working on the stage 1 compiler: +#BuildFlavour = devel1 -GhcCompilerWays = +# A development build, working on the stage 2 compiler: +#BuildFlavour = devel2 -SRC_HC_OPTS = -H32m -O -fasm $(MyWarningOpts) -GhcLibHcOpts = -O -dcore-lint $(MyWarningOpts) -GhcLibWays = +GhcLibWays = v -# If you're working on the stage1 compiler, build stage1 with debugging: -GhcStage1HcOpts = -Rghc-timing -O0 -DDEBUG +# -------- 1. A Performance/Distribution build-------------------------------- -# alternatively, to work on the stage 2 compiler: -# GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG +ifeq "$(BuildFlavour)" "perf" -# profiled RTS -#GhcRtsCcOpts = -pg -g +# perf matches the default settings, repeated here for comparison: -# Optimised/profiled RTS -#GhcRtsCcOpts = -O2 -pg +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O2 -fasm +GhcHcOpts = -Rghc-timing +GhcLibHcOpts = -O2 -XGenerics +GhcLibWays += p -#GhcRtsWithFrontPanel = YES -#SRC_HC_OPTS += `gtk-config --libs` +endif -SplitObjs = NO +# -------- A Fast build ------------------------------------------------------ -NoFibWays = -SRC_RUNTEST_OPTS += +RTS -H10m -RTS -STRIP=: +ifeq "$(BuildFlavour)" "quickest" + +SRC_HC_OPTS = -H64m -O0 -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O0 -fasm +GhcLibHcOpts = -O0 -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO endif -# -------- 1. A Performance/Distribution build-------------------------------- +# -------- A Fast build with optimised libs ---------------------------------- -ifeq "$(BuildFlavour)" "perf" +ifeq "$(BuildFlavour)" "quick" -SRC_HC_OPTS = -H32m -O $(MyWarningOpts) -GhcHcOpts = -Rghc-timing -GhcLibHcOpts = +SRC_HC_OPTS = -H64m -O0 -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O0 -fasm +GhcLibHcOpts = -O -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO -GhcLibWays = p +endif + +# -------- A Development build (stage 1) ------------------------------------- + +ifeq "$(BuildFlavour)" "devel1" + +SRC_HC_OPTS = -H64m -O -fasm +GhcLibHcOpts = -O -dcore-lint +GhcStage1HcOpts = -Rghc-timing -O0 -DDEBUG +GhcStage2HcOpts = -Rghc-timing -O -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO -#GhcRtsCcOpts = -O2 -fomit-frame-pointer -mpreferred-stack-boundary=2 -march=pentiumpro endif + +# -------- A Development build (stage 2) ------------------------------------- + +ifeq "$(BuildFlavour)" "devel2" + +SRC_HC_OPTS = -H64m -O -fasm +GhcLibHcOpts = -O -dcore-lint +GhcStage1HcOpts = -Rghc-timing -O -fasm +GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# ----------------------------------------------------------------------------- +# Other settings that might be useful + +# profiled RTS +#GhcRtsCcOpts = -pg -g + +# Optimised/profiled RTS +#GhcRtsCcOpts = -O2 -pg + +#GhcRtsWithFrontPanel = YES +#SRC_HC_OPTS += `gtk-config --libs` + +# NoFib settings +NoFibWays = +STRIP=: