+SRC_HC_OPTS += $(GhcHcOpts)
+
+# Special flags for particular modules
+# The standard suffix rule for compiling a Haskell file
+# adds these flags to the command line
+
+absCSyn/AbsCSyn_HC_OPTS = -fno-omit-reexported-instances
+basicTypes/IdInfo_HC_OPTS = -K2m
+coreSyn/AnnCoreSyn_HC_OPTS = -fno-omit-reexported-instances
+hsSyn/HsExpr_HC_OPTS = -K2m
+hsSyn/HsSyn_HC_OPTS = -fno-omit-reexported-instances
+main/Main_HC_OPTS = -fvia-C -DPROJECTVERSION=$(GhcProjectVersion)
+main/CmdLineOpts_HC_OPTS = -fvia-C
+nativeGen/PprMach_HC_OPTS = -K2m
+nativeGen/MachMisc_HC_OPTS = -K2m -fvia-C
+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 = -fvia-C '-\#include"hspincl.h"'
+parser/U_ttype_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+prelude/PrimOp_HC_OPTS = -K3m
+reader/Lex_HC_OPTS = -K2m -H16m -fvia-C
+ifeq "$(Ghc2_0)" "NO"
+reader/Lex_HC_OPTS += -fomit-derived-read
+endif
+reader/ReadPrefix_HC_OPTS = -fvia-C '-\#include"hspincl.h"'
+rename/ParseIface_HC_OPTS += -Onot -H16m
+rename/ParseType_HC_OPTS += -Onot -H16m
+rename/ParseUnfolding_HC_OPTS += -Onot -H16m
+ifeq "$(Ghc2_0)" "YES"
+rename/ParseIface_HC_OPTS += -fno-warn-incomplete-patterns -fno-warn-overlapped-patterns
+rename/ParseType_HC_OPTS += -fno-warn-incomplete-patterns -fno-warn-overlapped-patterns
+rename/ParseUnfolding_HC_OPTS += -fno-warn-incomplete-patterns -fno-warn-overlapped-patterns
+endif
+
+ifeq "$(TARGETPLATFORM)" "hppa1.1-hp-hpux9"
+rename/RnMonad_HC_OPTS = -fvia-C -O2 -O2-for-C
+else
+ifeq "$(Ghc2_0)" "NO"
+rename/RnMonad_HC_OPTS = -fvia-C
+endif
+endif
+rename/RnEnv_HC_OPTS = -fvia-C
+rename/RnSource_HC_OPTS = -H12m
+rename/RnIfaces_HC_OPTS = -H8m -fvia-C
+rename/RnNames_HC_OPTS = -H12m
+rename/RnMonad_HC_OPTS = -fvia-C
+# Urk! Really big heap for ParseUnfolding
+#rename/ParseUnfolding_HC_OPTS = -H45m
+specialise/Specialise_HC_OPTS = -Onot -H12m
+stgSyn/StgSyn_HC_OPTS = -fno-omit-reexported-instances
+typecheck/TcGenDeriv_HC_OPTS = -H10m
+typecheck/TcExpr_HC_OPTS = -H10m
+typecheck/TcEnv_HC_OPTS = -H10m
+ifeq "$(Ghc2_0)" "NO"
+typecheck/TcMonad_HC_OPTS = -fvia-C
+endif
+utils/Argv_HC_OPTS = -fvia-C
+utils/SST_HC_OPTS = -fvia-C
+utils/PrimPacked_HC_OPTS = -fvia-C -monly-3-regs
+utils/FastString_HC_OPTS = -fvia-C -monly-3-regs
+utils/StringBuffer_HC_OPTS = -fvia-C
+utils/Digraph_HC_OPTS = -fglasgow-exts -fvia-C
+
+