blob: 34d260a712a98437f3f2264342edcb604880b55e (
plain)
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
|
# -----------------------------------------------------------------------------
# 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"
SRC_HC_OPTS = -H32m -O2
GhcHcOpts = -Rghc-timing
GhcLibHcOpts =
GhcLibWays = p
endif
# -------- A Fast build ------------------------------------------------------
ifeq "$(BuildFlavour)" "quickest"
SRC_HC_OPTS = -H64m -Onot -fasm
GhcStage1HcOpts = -O -fasm
GhcStage2HcOpts = -Onot -fasm
GhcLibHcOpts = -Onot -fasm
GhcLibWays =
SplitObjs = NO
endif
# -------- A Fast build with optimised libs ----------------------------------
ifeq "$(BuildFlavour)" "quick"
SRC_HC_OPTS = -H64m -Onot -fasm
GhcStage1HcOpts = -O -fasm
GhcStage2HcOpts = -Onot -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=:
|