Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 110 lines (76 sloc) 2.665 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
# -----------------------------------------------------------------------------
# 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:

# Full build with max optimisation (slow build)
#BuildFlavour = perf

# Fastest build (libs unoptimised):
#BuildFlavour = quickest

# Fast build with optimised libraries:
#BuildFlavour = quick

# A development build, working on the stage 1 compiler:
#BuildFlavour = devel1

# A development build, working on the stage 2 compiler:
#BuildFlavour = devel2

# Which warnings we like to use
MyWarningOpts = -W -fno-warn-unused-matches -fwarn-unused-imports

# -------- 1. A Performance/Distribution build--------------------------------

ifeq "$(BuildFlavour)" "perf"

# perf matches the default settings, repeated here for comparison:

SRC_HC_OPTS = -O -H64m
GhcStage1HcOpts = -O -fasm
GhcStage2HcOpts = -O2 -fasm
GhcHcOpts = -Rghc-timing
GhcLibHcOpts = -O2 -XGenerics
GhcLibWays = p

endif

# -------- A Fast build ------------------------------------------------------

ifeq "$(BuildFlavour)" "quickest"

SRC_HC_OPTS = -H64m -O0 -fasm
GhcStage1HcOpts = -O -fasm
GhcStage2HcOpts = -O0 -fasm
GhcLibHcOpts = -O0 -fasm
GhcLibWays =
SplitObjs = NO

endif

# -------- A Fast build with optimised libs ----------------------------------

ifeq "$(BuildFlavour)" "quick"

SRC_HC_OPTS = -H64m -O0 -fasm
GhcStage1HcOpts = -O -fasm
GhcStage2HcOpts = -O0 -fasm
GhcLibHcOpts = -O -fasm
GhcLibWays =
SplitObjs = NO

endif

# -------- A Development build (stage 1) -------------------------------------

ifeq "$(BuildFlavour)" "devel1"

SRC_HC_OPTS = -H64m -O -fasm $(MyWarningOpts)
GhcLibHcOpts = -O -dcore-lint $(MyWarningOpts)
GhcLibWays =
GhcStage1HcOpts = -Rghc-timing -O0 -DDEBUG
GhcStage2HcOpts = -Rghc-timing -O -fasm
SplitObjs = NO

endif

# -------- A Development build (stage 2) -------------------------------------

ifeq "$(BuildFlavour)" "devel2"

SRC_HC_OPTS = -H64m -O -fasm $(MyWarningOpts)
GhcLibHcOpts = -O -dcore-lint $(MyWarningOpts)
GhcLibWays =
GhcStage1HcOpts = -Rghc-timing -O -fasm
GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG
SplitObjs = 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=:
Something went wrong with that request. Please try again.