
# The installation directory should really be retrieved
# from the configuration of the parent directory.
GHCBASE=/usr/local/packages/ghc-6.3
GHC=$(GHCBASE)/bin/ghc
GHCPKG=$(GHCBASE)/bin/ghc-pkg
LIBDIR=$(GHCBASE)/lib/gtk2hs/gtk2

MOZLIBDIR = /usr/lib/MozillaFirefox
MOZEMBED_HEADER=/usr/lib/mozilla/include/gtkembedmoz/gtkmozembed.h

GTKINCDIRS =  abstract buttons display gdk general glib misc pango scrolling treeList windows

INCDIRS = compat c2hs/chs $(addprefix gtk/, ${GTKINCDIRS})
INCFLAGS = $(addprefix -i../, ${INCDIRS})
GHCFLAGS = '-\#include<mozilla/gtkembedmoz/gtkmozembed.h>'\
           ${INCFLAGS} \
	   -L${MOZLIBDIR} -lgtkembedmoz \
           -package gtk2 \
           -fglasgow-exts -fallow-overlapping-instances

all: libgtkembedmozHS.a gtk2moz.conf

lib: libgtkembedmozHS.a

GtkMozEmbed.o GtkMozEmbed.hi: GtkMozEmbed.hs
	$(GHC) ${GHCFLAGS} GtkMozEmbed.hs -c

libgtkembedmozHS.a: GtkMozEmbed.o
	ar -crs libgtkembedmozHS.a GtkMozEmbed.o

install: GtkMozEmbed.hi libgtkembedmozHS.a
	install -m 644 GtkMozEmbed.hi ${LIBDIR}/hi
	install -m 644 libgtkembedmozHS.a ${LIBDIR}

gtk2moz.conf:
	$(GHCPKG) -s gtk2 > gtk2moz.conf

install-pkg:
	$(GHCPKG) --input-file=gtk2moz.conf --update-package --auto-ghci-libs

C2HS_CINCDIRS = gtk-2.0 glib-2.0 pango-1.0 atk-1.0

C2HS_CINCLIBDIRS = gtk-2.0 glib-2.0

C2HS_CFLAGS = $(addprefix -I/usr/include/, ${C2HS_CINCDIRS}) \
    $(addprefix -I/usr/lib/, $(addsuffix /include, ${C2HS_CINCLIBDIRS}))

GtkMozEmbed.hs: GtkMozEmbed.chs
	../c2hs/c2hs -C "${C2HS_CFLAGS}" ${INCFLAGS} ${MOZEMBED_HEADER} GtkMozEmbed.chs

clean:
	rm -f *.o *.hi *.chi *.a gtk2moz.conf GtkMozEmbed.hs

