ghc_version = $(shell ghc --version | sed 's_.*version \([0-9]*\.[0-9]*\).*_\1_') ifeq ($(ghc_version),6.5) patchghc = patch -p0 < $(shell pwd)/misc/ghc-6.5-patch && else ifeq ($(ghc_version),6.6) patchghc = patch -p0 < $(shell pwd)/misc/ghc-6.5-patch && else patchghc = endif endif ifeq ($(shell uname),Darwin) with_jvmdir = --with-jvmdir=/System/Library/Frameworks/JavaVM.framework/ jvmlink = -framework JavaVM -optl -fexceptions patchmac = patch -p0 < $(shell pwd)/misc/intel-mac-patch && linkopts = platlink = -L$(prefix)/lib/ -L$(JAVA_HOME)/jre/lib/i386/ -L$(JAVA_HOME)/jre/lib/i386/client/ else with_jvmdir = --with-jvmdir=$(JAVA_HOME) jvmlink = -ljava -ljvm -lverify patchmac = linkopts = -optl "-Wl,-rpath,$(JAVA_HOME)/jre/lib/i386/" -optl "-Wl,-rpath,$(JAVA_HOME)/jre/lib/i386/client/" platlink = endif prefix = $(shell pwd)/prefix jvm-bridge-site = umn.dl.sourceforge.net jvm-bridge-url = http://$(jvm-bridge-site)/sourceforge/jvm-bridge/haskell-jvm-bridge-0.3.tar.gz # The double -lHaskellJVMBridge is due to a circular link dep; the linux linker gets upset link = $(platlink) -lstdc++ -lHaskellJVMBridge -lJVMBridge -lJVMInvocation -lHaskellJVMBridge $(jvmlink) packages = -package haskell98 -package base -package rts ghc = ghc -fglasgow-exts $(packages) -i$(prefix)/imports/ bin = $(prefix)/bin/