blob: f43341b52f88d08a77ce6f53601677022d48d69c (
plain) (
blame)
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
|
TOP = ..
include $(TOP)/mk/boilerplate.mk
INSTALLING=1
ghc_ge_504 := $(shell if (test $(GhcCanonVersion) -ge 504); then echo YES; else echo NO; fi)
ghc_ge_603 := $(shell if (test $(GhcCanonVersion) -ge 603); then echo YES; else echo NO; fi)
ghc_le_600 := $(shell if (test $(GhcCanonVersion) -le 600); then echo YES; else echo NO; fi)
SRC_HC_OPTS += -fglasgow-exts -cpp
# Use hierarchical libraries for GHC >= 5.04
ifeq "$(ghc_ge_504)" "YES"
SRC_HC_OPTS += -package network
# Monad transformers live in their own package for GHC >= 6.3
ifeq "$(ghc_ge_603)" "YES"
SRC_HC_OPTS += -package mtl
endif
else
SRC_HC_OPTS += -package data -package text -package util -package net
endif
ifeq "$(Windows)" "YES"
HS_PROG_EXT = .exe
else
HS_PROG_EXT = .bin
endif
HS_PROG = haddock$(HS_PROG_EXT)
ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
Main_HC_OPTS += -Dmingw32_HOST_OS=1
endif
HsParser_HC_OPTS += -Onot
HaddockParse_HC_OPTS += -Onot
ifeq "$(HOSTPLATFORM)$(ghc_le_600)" "i386-unknown-mingw32YES"
HaddockVersion_HC_OPTS = -D'HADDOCK_VERSION=\"$(ProjectVersion)\"'
else
HaddockVersion_HC_OPTS = -D'HADDOCK_VERSION="$(ProjectVersion)"'
endif
HaddockVersion : ../mk/version.mk
ifeq "$(INSTALLING)" "1"
ifeq "$(BIN_DIST)" "1"
HADDOCKLIB=$$\"\"datadir/haddock
HADDOCKBIN=$$\"\"libexecdir/$(HS_PROG)
else
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
# --mixed is only provided by newer versions of cygpath (1.2 doesn't have it, for instance.)
#HADDOCKLIB=$(shell cygpath --mixed $(datadir))
HADDOCKLIB=$(shell cygpath -w $(datadir) | sed -e 's%\\%/%g')
else
HADDOCKLIB=$(datadir)
endif # mingw
HADDOCKBIN=$(libexecdir)/$(HS_PROG)
endif # BIN_DIST
else
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
# See above comment re: --mixed
#HADDOCKLIB=$(shell cygpath --mixed $(FPTOOLS_TOP_ABS)/haddock/html)
HADDOCKLIB=$(shell cygpath -w $(FPTOOLS_TOP_ABS)/haddock/html | sed -e 's%\\%/%g')
else
HADDOCKLIB=$(FPTOOLS_TOP_ABS)/haddock/html
endif
HADDOCKBIN=$(FPTOOLS_TOP_ABS)/haddock/src/$(HS_PROG)
endif # INSTALLING
HAPPY_OPTS += $(GHC_HAPPY_OPTS)
INSTALLED_SCRIPT_PROG = haddock-$(ProjectVersion)
INPLACE_SCRIPT_PROG = haddock-inplace
ifeq "$(INSTALLING)" "1"
TOP_PWD := $(prefix)
SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG)
ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
LINK = haddock
endif
else
TOP_PWD := $(FPTOOLS_TOP_ABS)
SCRIPT_PROG = $(INPLACE_SCRIPT_PROG)
endif
SCRIPT_OBJS=haddock.sh
INTERP=$(SHELL)
SCRIPT_SUBST_VARS = HADDOCKLIB HADDOCKBIN
# The script isn't installed on Windows; we run the binary directly
ifeq "$(Windows)" "NO"
INSTALL_SCRIPTS += $(SCRIPT_PROG)
endif
INSTALL_LIBEXECS = $(HS_PROG)
# don't recurse on 'make install'
#
ifeq "$(INSTALLING)" "1"
all clean distclean maintainer-clean ::
$(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@
endif
include $(TOP)/mk/target.mk
|