+# magic from GNU make manual to convert a list of values
+# into a colon-separated list
+empty:=
+space:= $(empty) $(empty)
+
+SRC_HC_OPTS += \
+ -cpp -fglasgow-exts -Rghc-timing \
+ -I. -IcodeGen -InativeGen -Iparser \
+ -i$(subst $(space),:,$(DIRS))
+
+SRC_CC_OPTS += -Iparser -I. -I$(TOP)/includes -O
+
+SRC_HC_OPTS += -recomp $(GhcHcOpts)
+
+# Special flags for particular modules
+# The standard suffix rule for compiling a Haskell file
+# adds these flags to the command line
+
+absCSyn/CStrings_HC_OPTS = -monly-3-regs
+
+# Was 6m with 2.10
+absCSyn/PprAbsC_HC_OPTS = -H10m
+
+basicTypes/IdInfo_HC_OPTS = -K2m
+hsSyn/HsExpr_HC_OPTS = -K2m
+main/Main_HC_OPTS = -fvia-C -DPROJECTVERSION=$(GhcProjectVersion)
+main/MkIface_HC_OPTS = -DPROJECTVERSION=$(GhcProjectVersionInt)
+main/CmdLineOpts_HC_OPTS = -fvia-C
+nativeGen/PprMach_HC_OPTS = -K2m
+nativeGen/MachMisc_HC_OPTS = -K2m -fvia-C
+nativeGen/MachCode_HC_OPTS = -H10m
+parser/UgenAll_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/UgenUtil_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_constr_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_binding_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_pbinding_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_entidt_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_list_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_literal_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_maybe_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_either_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_qid_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+parser/U_tree_HC_OPTS = -H12m -fvia-C '-\#include"hspincl.h"'
+parser/U_ttype_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+prelude/PrimOp_HC_OPTS = -H12m -K3m
+reader/Lex_HC_OPTS = -K2m -H16m -fvia-C -DPROJECTVERSION=$(GhcProjectVersionInt)
+
+# Heap was 6m with 2.10
+reader/ReadPrefix_HC_OPTS = -fvia-C '-\#include"hspincl.h"' -H10m
+
+rename/ParseIface_HC_OPTS += -Onot -H30m -fno-warn-incomplete-patterns
+rename/ParseIface_HAPPY_OPTS += -g
+
+ifeq "$(TARGETPLATFORM)" "hppa1.1-hp-hpux9"
+rename/RnMonad_HC_OPTS = -fvia-C -O2 -O2-for-C
+else