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
|
# Local GHC-build-tree customization for Cabal makefiles. We want to build
# libraries using flags that the user has put in build.mk/validate.mk and
# appropriate flags for Mac OS X deployment targets.
# Careful here: including boilerplate.mk breaks things, because paths.mk and
# opts.mk overrides some of the variable settings in the Cabal Makefile, so
# we just include config.mk and custom-settings.mk.
TOP=..
SAVE_GHC := $(GHC)
SAVE_AR := $(AR)
SAVE_LD := $(LD)
include $(TOP)/mk/config.mk
include $(TOP)/mk/custom-settings.mk
GHC := $(SAVE_GHC)
AR := $(SAVE_AR)
LD := $(SAVE_LD)
# Now add flags from the GHC build system to the Cabal build:
GHC_CC_OPTS += $(addprefix -optc, $(MACOSX_DEPLOYMENT_CC_OPTS))
GHC_OPTS += $(SRC_HC_OPTS)
GHC_OPTS += $(GhcHcOpts)
GHC_OPTS += $(GhcStage$(stage)HcOpts)
GHC_OPTS += $(addprefix -optc, $(MACOSX_DEPLOYMENT_CC_OPTS))
LIB_LD_OPTS += $(addprefix -optl, $(MACOSX_DEPLOYMENT_LD_OPTS))
# XXX These didn't work in the old build system, according to the
# comment at least. We should actually handle them properly at some
# point:
# Some .hs files #include other source files, but since ghc -M doesn't spit out
# these dependencies we have to include them manually.
# We don't add dependencies on HsVersions.h, ghcautoconf.h, or ghc_boot_platform.h,
# because then modifying one of these files would force recompilation of everything,
# which is probably not what you want. However, it does mean you have to be
# careful to recompile stuff you need if you reconfigure or change HsVersions.h.
# Aargh, these don't work properly anyway, because GHC's recompilation checker
# just reports "compilation NOT required". Do we have to add -fforce-recomp for each
# of these .hs files? I haven't done anything about this yet.
# $(odir)/codeGen/Bitmap.$(way_)o : ../includes/MachDeps.h
# $(odir)/codeGen/CgCallConv.$(way_)o : ../includes/StgFun.h
# $(odir)/codeGen/CgProf.$(way_)o : ../includes/MachDeps.h
# $(odir)/codeGen/CgProf.$(way_)o : ../includes/Constants.h
# $(odir)/codeGen/CgProf.$(way_)o : ../includes/DerivedConstants.h
# $(odir)/codeGen/CgTicky.$(way_)o : ../includes/DerivedConstants.h
# $(odir)/codeGen/ClosureInfo.$(way_)o : ../includes/MachDeps.h
# $(odir)/codeGen/SMRep.$(way_)o : ../includes/MachDeps.h
# $(odir)/codeGen/SMRep.$(way_)o : ../includes/ClosureTypes.h
# $(odir)/ghci/ByteCodeAsm.$(way_)o : ../includes/Bytecodes.h
# $(odir)/ghci/ByteCodeFFI.$(way_)o : nativeGen/NCG.h
# $(odir)/ghci/ByteCodeInstr.$(way_)o : ../includes/MachDeps.h
# $(odir)/ghci/ByteCodeItbls.$(way_)o : ../includes/ClosureTypes.h
# $(odir)/ghci/ByteCodeItbls.$(way_)o : nativeGen/NCG.h
# $(odir)/main/Constants.$(way_)o : ../includes/MachRegs.h
# $(odir)/main/Constants.$(way_)o : ../includes/Constants.h
# $(odir)/main/Constants.$(way_)o : ../includes/MachDeps.h
# $(odir)/main/Constants.$(way_)o : ../includes/DerivedConstants.h
# $(odir)/main/Constants.$(way_)o : ../includes/GHCConstants.h
# $(odir)/nativeGen/AsmCodeGen.$(way_)o : nativeGen/NCG.h
# $(odir)/nativeGen/MachCodeGen.$(way_)o : nativeGen/NCG.h
# $(odir)/nativeGen/MachCodeGen.$(way_)o : ../includes/MachDeps.h
# $(odir)/nativeGen/MachInstrs.$(way_)o : nativeGen/NCG.h
# $(odir)/nativeGen/MachRegs.$(way_)o : nativeGen/NCG.h
# $(odir)/nativeGen/MachRegs.$(way_)o : ../includes/MachRegs.h
# $(odir)/nativeGen/PositionIndependentCode.$(way_)o : nativeGen/NCG.h
# $(odir)/nativeGen/PprMach.$(way_)o : nativeGen/NCG.h
# $(odir)/nativeGen/RegAllocInfo.$(way_)o : nativeGen/NCG.h
# $(odir)/typecheck/TcForeign.$(way_)o : nativeGen/NCG.h
# $(odir)/utils/Binary.$(way_)o : ../includes/MachDeps.h
# $(odir)/utils/FastMutInt.$(way_)o : ../includes/MachDeps.h
# $(PRIMOP_BITS) is defined in Makefile
# $(odir)/prelude/PrimOp.o: $(PRIMOP_BITS)
|