SBP.hs / HaskellHelper cleanups
[sbp.git] / Makefile.haskell
1 ghc_version = $(shell ghc --version | sed 's_.*version \([0-9]*\.[0-9]*\).*_\1_')
2
3 ifeq ($(ghc_version),6.5)
4 patchghc    = patch -p0 < $(shell pwd)/misc/ghc-6.5-patch &&
5 else
6 patchghc    =
7 endif
8
9 ifeq ($(shell uname),Darwin)
10 with_jvmdir = --with-jvmdir=/System/Library/Frameworks/JavaVM.framework/
11 jvmlink     = -framework JavaVM -optl -fexceptions
12 patchmac    = patch -p0 < $(shell pwd)/misc/intel-mac-patch &&
13 linkopts    =
14 platlink    = -L$(prefix)/lib/ -L$(JAVA_HOME)/jre/lib/i386/ -L$(JAVA_HOME)/jre/lib/i386/client/
15 else
16 with_jvmdir = --with-jvmdir=$(JAVA_HOME)
17 jvmlink     = -ljava -ljvm -lverify
18 patchmac    =
19 linkopts    = -optl "-Wl,-rpath,$(JAVA_HOME)/jre/lib/i386/" -optl "-Wl,-rpath,$(JAVA_HOME)/jre/lib/i386/client/"
20 platlink    =
21 endif
22
23 prefix          = $(shell pwd)/prefix
24 jvm-bridge-site = umn.dl.sourceforge.net
25 jvm-bridge-url  = http://$(jvm-bridge-site)/sourceforge/jvm-bridge/haskell-jvm-bridge-0.3.tar.gz
26
27 #               The double -lHaskellJVMBridge is due to a circular link dep; the linux linker gets upset
28 link            = $(platlink) -lstdc++ -lHaskellJVMBridge -lJVMBridge -lJVMInvocation -lHaskellJVMBridge $(jvmlink)
29 packages        = -package haskell98 -package base -package rts
30 ghc             = ghc -fglasgow-exts $(packages) -i$(prefix)/imports/
31 bin             = $(prefix)/bin/