# ----------------------------------------------------------------------------- # A Sample build.mk # # Uncomment one of the following BuildFlavour settings to get the desired # overall build type, and then tweak the options in the relevant section # below. # Uncomment one of these to select a build profile below: #BuildFlavour = devel #BuildFlavour = perf # Which warnings we like to use MyWarningOpts = -W -fno-warn-unused-matches -fwarn-unused-imports # -------- 1. A Development build -------------------------------------------- ifeq "$(BuildFlavour)" "devel" GhcCompilerWays = SRC_HC_OPTS = -H32m -O -fasm $(MyWarningOpts) GhcLibHcOpts = -O -dcore-lint $(MyWarningOpts) GhcLibWays = # If you're working on the stage1 compiler, build stage1 with debugging: GhcStage1HcOpts = -Rghc-timing -O0 -DDEBUG # alternatively, to work on the stage 2 compiler: # GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG # profiled RTS #GhcRtsCcOpts = -pg -g # Optimised/profiled RTS #GhcRtsCcOpts = -O2 -pg #GhcRtsWithFrontPanel = YES #SRC_HC_OPTS += `gtk-config --libs` SplitObjs = NO NoFibWays = SRC_RUNTEST_OPTS += +RTS -H10m -RTS STRIP=: endif # -------- 1. A Performance/Distribution build-------------------------------- ifeq "$(BuildFlavour)" "perf" SRC_HC_OPTS = -H32m -O $(MyWarningOpts) GhcHcOpts = -Rghc-timing GhcLibHcOpts = GhcLibWays = p #GhcRtsCcOpts = -O2 -fomit-frame-pointer -mpreferred-stack-boundary=2 -march=pentiumpro endif