--- /dev/null
+# $Id$
+# Makefile for lablgtk.
+
+EXE = .exe
+TARGETS = var2conv var2def lablgtk$(EXE) lablgtk_t$(EXE) \
+ lablgtkrun$(EXE) config.make
+
+all: $(TARGETS)
+
+opt: lablgtkopt
+
+CAMLC = ocamlc
+CAMLOPT = ocamlopt
+COMPILER = $(CAMLC) $(MLFLAGS) -w s -labels -c
+LINKER = $(CAMLC) $(MLFLAGS)
+COMPOPT = $(CAMLOPT) $(MLFLAGS) -w s -labels -c
+LINKOPT = $(CAMLOPT) $(MLFLAGS)
+
+TOPLEVEL = ocamlmktop $(MLFLAGS)
+### How to invoke the librarian
+MKLIB=lib /nologo /debugtype:CV /out:
+
+!include config.make.nt
+
+INSTALLDIR = $(LIBDIR:/=\)\lablgtk
+BINDIR = $(LIBDIR:/=\)\..\bin
+LABLGLDIR = $(LIBDIR)/lablGL
+
+CFLAGS = -O -DGTK_NO_CHECK_CASTS -DGTK_DISABLE_COMPAT_H $(GTKCFLAGS)
+LDFLAGS = $(GTKLIBS)
+
+THFLAGS = -thread
+THLIBS = unix.cma threads.cma
+
+!if $(USE_CC) == 1
+CCOMPILER = $(CC) -c -I$(LIBDIR) $(CFLAGS)
+!else
+CCOMPILER = ocamlc -c -ccopt "$(CFLAGS)"
+!endif
+
+!if $(USE_GL) == 1
+MLFLAGS = $(MLFLAGS) -I $(LIBDIR)/lablGL
+GLLINK = -I $(LABLGLDIR) lablgl.cma -cclib -lgtkgl
+GLMLOBJS = glGtk.cmo
+GLCOBJS = ml_gtkgl.o
+!endif
+
+# Rules
+.SUFFIXES: .ml .mli .cmo .cmi .cmx .c .obj .var .h .opt .def
+.c.obj:
+ $(CCOMPILER) $<
+.ml.cmo:
+ $(COMPILER) $<
+.mli.cmi:
+ $(COMPILER) $<
+.ml.cmx:
+ $(COMPOPT) $<
+.var.h:
+ ocamlrun ./var2def < $< > $@
+.var.c:
+ ocamlrun ./var2conv < $< > $@
+
+# Targets
+COBJS = ml_gtk.obj ml_gdk.obj ml_glib.obj wrappers.obj $(GLCOBJS)
+OLDMLOBJS = misc.cmo glib.cmo gdk.cmo gtk.cmo gdkObj.cmo gtkObj.cmo gtkExt.cmo
+MLOBJS = misc.cmo glib.cmo gdk.cmo gdkEvent.cmo gdkKeysyms.cmo \
+ gtk.cmo gtkArgv.cmo gtkSignal.cmo \
+ gtkData.cmo gtkBase.cmo gtkPack.cmo gtkButton.cmo \
+ gtkMenu.cmo gtkMisc.cmo gtkWindow.cmo gtkTree.cmo gtkList.cmo \
+ gtkFrame.cmo gtkEdit.cmo gtkRange.cmo gtkMain.cmo gtkNew.cmo \
+ gDraw.cmo \
+ gObj.cmo gMain.cmo gData.cmo gContainer.cmo gPack.cmo gButton.cmo \
+ gMenu.cmo gMisc.cmo gWindow.cmo gTree.cmo gList.cmo gFrame.cmo \
+ gEdit.cmo gRange.cmo gUtil.cmo $(GLMLOBJS)
+THOBJS = gtkThread.cmo threadObj.cmo
+INITOBJS = gtkInit.cmo
+THINITOBJS = gtkThInit.cmo
+ALLOBJS = $(MLOBJS) $(THOBJS) $(INITOBJS) $(THINITOBJS)
+
+lablgtk$(EXE): liblablgtk.lib lablgtk.cma $(INITOBJS)
+ $(TOPLEVEL) -custom -o $@ unix.cma str.cma $(GLLINK) \
+ lablgtk.cma $(INITOBJS)
+
+lablgtk_t$(EXE): liblablgtk.lib lablgtk.cma $(THOBJS) $(INITOBJS) $(THINITOBJS)
+ $(TOPLEVEL) -custom $(THFLAGS) -o $@ $(THLIBS) str.cma $(GLLINK) \
+ lablgtk.cma $(THOBJS) $(INITOBJS) $(THINITOBJS)
+
+lablgtkrun$(EXE): liblablgtk.lib lablgtk.cma
+ $(LINKER) -o $@ -make-runtime $(GLLINK) lablgtk.cma
+
+lablgtkopt: liblablgtk.lib lablgtk.cmxa gtkInit.cmx
+
+install:
+ if not exist $(INSTALLDIR) mkdir $(INSTALLDIR)
+ cp $(ALLOBJS:.cmo=.cmi) $(INSTALLDIR)
+ cp *.mli $(INSTALLDIR)
+ cp $(ALLOBJS:.cmo=.ml) $(INSTALLDIR)
+ cp lablgtk.cma $(THOBJS) $(INITOBJS) $(THINITOBJS) $(INSTALLDIR)
+ cp liblablgtk.lib $(INSTALLDIR)
+ cp lablgtk$(EXE) lablgtk_t$(EXE) lablgtkrun$(EXE) $(BINDIR)
+ if exist lablgtk.cmxa cp lablgtk.cmxa lablgtk.lib gtkInit.cmx gtkInit.obj $(INSTALLDIR)
+
+liblablgtk.lib: $(COBJS)
+ $(MKLIB)$@ $(COBJS)
+
+lablgtk.cma: $(MLOBJS)
+ $(LINKER) -a -custom -o $@ $(MLOBJS) \
+ -cclib -llablgtk $(GTKLIBS)
+
+lablgtk.cmxa: $(MLOBJS:.cmo=.cmx)
+ $(LINKOPT) -a -o $@ $(MLOBJS:.cmo=.cmx) \
+ -cclib -llablgtk $(GTKLIBS)
+
+gtkThread.cmo: gtkThread.ml
+ $(COMPILER) $(THFLAGS) gtkThread.ml
+
+threadObj.cmo: threadObj.ml
+ $(COMPILER) $(THFLAGS) threadObj.ml
+
+gtkThread.cmx: gtkThread.ml
+ $(COMPOPT) $(THFLAGS) gtkThread.ml
+
+threadObj.cmx: threadObj.ml
+ $(COMPOPT) $(THFLAGS) threadObj.ml
+
+var2conv: var2conv.cmo
+ $(LINKER) -o $@ var2conv.cmo
+ rm -f *_tags.c
+
+var2def: var2def.cmo
+ $(LINKER) -o $@ var2def.cmo
+ rm -f *_tags.h
+
+clean:
+ rm -f *.cm* *.obj *.lib *_tags.[ch] $(TARGETS)
+
+config.make: config.make.nt
+ cp config.make.nt config.make
+
+depend .depend:
+ ocamldep *.ml *.mli > .depend
+
+ml_gtk.obj: gtk_tags.c gtk_tags.h ml_gtk.h ml_gdk.h wrappers.h
+ml_gdk.obj: gdk_tags.c gdk_tags.h ml_gdk.h wrappers.h
+ml_gtkgl.obj: gtkgl_tags.c gtkgl_tags.h ml_gtk.h ml_gdk.h wrappers.h
+
+!include .depend