Fix up logic to decide whether shared libs are being built or not
[ghc-hetmet.git] / mk / build.mk.sample
index 4975de5..b43ef94 100644 (file)
 # Fast build with optimised libraries:
 #BuildFlavour = quick
 
+# Profile the stage2 compiler:
+#BuildFlavour = prof
+
 # 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
-
 GhcLibWays = v
 
 # -------- 1. A Performance/Distribution build--------------------------------
@@ -40,6 +40,10 @@ GhcHcOpts       = -Rghc-timing
 GhcLibHcOpts    = -O2 -XGenerics
 GhcLibWays     += p
 
+ifeq "$(PlatformSupportsSharedLibs)" "YES"
+GhcLibWays += dyn
+endif
+
 endif
 
 # -------- A Fast build ------------------------------------------------------
@@ -74,12 +78,33 @@ BUILD_DOCBOOK_PDF  = NO
 
 endif
 
+# -------- Profile the stage2 compiler ---------------------------------------
+
+ifeq "$(BuildFlavour)" "prof"
+
+SRC_HC_OPTS        = -H64m -O0 -fasm
+GhcStage1HcOpts    = -O -fasm
+GhcStage2HcOpts    = -O -fasm
+GhcLibHcOpts       = -O -fasm
+
+GhcLibWays         += p
+GhcProfiled        = YES
+
+SplitObjs          = NO
+HADDOCK_DOCS       = NO
+BUILD_DOCBOOK_HTML = NO
+BUILD_DOCBOOK_PS   = NO
+BUILD_DOCBOOK_PDF  = NO
+
+endif
+
+
 # -------- A Development build (stage 1) -------------------------------------
 
 ifeq "$(BuildFlavour)" "devel1"
 
-SRC_HC_OPTS        = -H64m -O -fasm $(MyWarningOpts)
-GhcLibHcOpts       = -O -dcore-lint $(MyWarningOpts)
+SRC_HC_OPTS        = -H64m -O -fasm
+GhcLibHcOpts       = -O -dcore-lint
 GhcStage1HcOpts    = -Rghc-timing -O0 -DDEBUG
 GhcStage2HcOpts    = -Rghc-timing -O -fasm
 SplitObjs          = NO
@@ -94,8 +119,8 @@ endif
 
 ifeq "$(BuildFlavour)" "devel2"
 
-SRC_HC_OPTS        = -H64m -O -fasm $(MyWarningOpts)
-GhcLibHcOpts       = -O -dcore-lint $(MyWarningOpts)
+SRC_HC_OPTS        = -H64m -O -fasm
+GhcLibHcOpts       = -O -dcore-lint
 GhcStage1HcOpts    = -Rghc-timing -O -fasm
 GhcStage2HcOpts    = -Rghc-timing -O0 -DDEBUG
 SplitObjs          = NO