]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/Makefile.nt
lablgtk_20001129* created
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20001129-0.1.0 / Makefile.nt
diff --git a/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/Makefile.nt b/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/Makefile.nt
new file mode 100644 (file)
index 0000000..bdf5b6c
--- /dev/null
@@ -0,0 +1,147 @@
+# $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