]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtk/lablgtk_20000829-0.1.0/Makefile
Initial revision
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20000829-0.1.0 / Makefile
diff --git a/helm/DEVEL/lablgtk/lablgtk_20000829-0.1.0/Makefile b/helm/DEVEL/lablgtk/lablgtk_20000829-0.1.0/Makefile
new file mode 100644 (file)
index 0000000..23157f2
--- /dev/null
@@ -0,0 +1,190 @@
+# $Id$
+# Makefile for lablgtk.
+
+TARGETS = var2conv var2def lablgtktop lablgtktop_t lablgtkrun lablgtk
+
+all: $(TARGETS)
+
+opt: lablgtkopt
+
+configure:
+       @rm -f config.make
+       @$(MAKE) --no-print-directory -f configure.mk
+
+depend:
+       @rm -f .depend
+       @$(MAKE) --no-print-directory -f configure.mk .depend
+
+.depend config.make:
+       @$(MAKE) --no-print-directory -f configure.mk
+
+COMPILER = $(CAMLC) $(MLFLAGS) -w s -labels -c
+LINKER = $(CAMLC) $(MLFLAGS)
+COMPOPT = $(CAMLOPT) $(MLFLAGS) -w s -labels -c
+LINKOPT = $(CAMLOPT) $(MLFLAGS)
+TOPLEVEL = ocamlmktop $(MLFLAGS)
+
+include config.make
+
+INSTALLDIR = $(LIBDIR)/lablgtk
+LABLGLDIR = $(LIBDIR)/lablGL
+
+MLLIBS = lablgtk.cma
+CLIBS = liblablgtk.a
+MLLINK = unix.cma str.cma
+
+ifdef DEBUG
+CFLAGS = -g $(GTKCFLAGS)
+MLLINK += -cclib -lcamlrund
+MLFLAGS = -g
+else
+CFLAGS = -O -DGTK_NO_CHECK_CASTS -DGTK_DISABLE_COMPAT_H $(GTKCFLAGS)
+endif
+
+THFLAGS = -thread
+THLINK = unix.cma threads.cma
+
+ifdef USE_CC
+CCOMPILER = $(CC) -c -I$(LIBDIR) $(CFLAGS)
+else
+CCOMPILER = ocamlc -c -ccopt "$(CFLAGS)"
+endif
+
+ifdef USE_GL
+MLFLAGS += -I $(LABLGLDIR)
+MLLINK += lablgl.cma
+MLLIBS += lablgtkgl.cma
+CLIBS += liblablgtkgl.a
+GLLINK = -cclib -llablgtkgl -cclib -lgtkgl
+GLMLOBJS = glGtk.cmo
+GLCOBJS = ml_gtkgl.o
+
+endif
+
+ifdef USE_GNOME
+MLLIBS += lablgnome.cma
+CLIBS += liblablgnome.a
+GNOMEMLOBJS = gtkXmHTML.cmo gHtml.cmo
+GNOMECOBJS = ml_gtkxmhtml.o
+endif
+
+# Rules
+.SUFFIXES: .ml .mli .cmo .cmi .cmx .c .o .var .h .opt .def
+.c.o:
+       $(CCOMPILER) $<
+.ml.cmo:
+       $(COMPILER) $<
+.mli.cmi:
+       $(COMPILER) $<
+.ml.cmx:
+       $(COMPOPT) $<
+.var.h:
+       ./var2def < $< > $@
+.var.c:
+       ./var2conv < $< > $@
+
+# Targets
+COBJS = ml_gtk.o ml_gdk.o ml_glib.o wrappers.o
+MLOBJS = gaux.cmo gpointer.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 \
+       gtkBin.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 gBin.cmo \
+       gEdit.cmo gRange.cmo gUtil.cmo
+THOBJS = gtkThread.cmo
+INITOBJS = gtkInit.cmo
+THINITOBJS = gtkThInit.cmo
+ALLOBJS = $(MLOBJS) $(GLMLOBJS) $(GNOMEMLOBJS) $(THOBJS) \
+       $(INITOBJS) $(THINITOBJS)
+
+lablgtktop: $(CLIBS) $(MLLIBS) $(INITOBJS)
+       $(TOPLEVEL) -o $@ $(MLLINK) -ccopt -L. $(MLLIBS) $(INITOBJS)
+
+lablgtktop_t: $(CLIBS) $(MLLIBS) $(THOBJS) $(INITOBJS) $(THINITOBJS)
+       $(TOPLEVEL) $(THFLAGS) -o $@ $(THLINK) $(MLLINK) \
+          -ccopt -L. $(MLLIBS) $(THOBJS) $(INITOBJS) $(THINITOBJS)
+
+lablgtk: Makefile config.make lablgtk.in
+       sed -e "s|@INSTALLDIR@|$(INSTALLDIR)|g" \
+           -e "s|@LABLGLDIR@|$(LABLGLDIR)|g" \
+           -e "s|@LIBDIR@|$(LIBDIR)|g" \
+           < lablgtk.in > $@
+       chmod 755 $@
+
+lablgtkrun: $(CLIBS) $(MLLIBS)
+       $(LINKER) -o $@ -make-runtime $(MLLINK) -ccopt -L. $(MLLIBS)
+
+lablgtkopt: $(CLIBS) $(MLLIBS:.cma=.cmxa) $(INITOBJS:.cmo=.cmx) \
+       $(THOBJS:.cmo=.cmx)
+
+install:
+       if test -d $(INSTALLDIR); then : ; else mkdir -p $(INSTALLDIR); fi
+       cp $(ALLOBJS:.cmo=.cmi) $(INSTALLDIR)
+       cp *.mli $(INSTALLDIR)
+       cp *.h $(INSTALLDIR)
+       cp $(ALLOBJS:.cmo=.ml) $(INSTALLDIR)
+       cp $(MLLIBS) $(THOBJS) $(INITOBJS) $(THINITOBJS) $(INSTALLDIR)
+       cp $(CLIBS) $(INSTALLDIR)
+       cp lablgtktop  lablgtktop_t $(INSTALLDIR)
+       cp lablgtk lablgtkrun $(BINDIR)
+       if test -f lablgtk.cmxa; then \
+          cp $(MLLIBS:.cma=.cmxa) $(MLLIBS:.cma=.a) \
+             $(INITOBJS:.cmo=.cmx) $(INITOBJS:.cmo=.o) $(INSTALLDIR); fi
+       if test -f gtkThread.cmx; then \
+          cp $(THOBJS:.cmo=.cmx) $(THOBJS:.cmo=.o) $(INSTALLDIR); fi
+
+liblablgtk.a: $(COBJS)
+       ar rc $@ $(COBJS)
+       $(RANLIB) $@
+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)
+
+liblablgtkgl.a: $(GLCOBJS)
+       ar rc $@ $(GLCOBJS)
+       $(RANLIB) $@
+lablgtkgl.cma: $(GLMLOBJS)
+       $(LINKER) -a -custom -o $@ $(GLLINK) $(GLMLOBJS)
+lablgtkgl.cmxa: $(GLMLOBJS:.cmo=.cmx)
+       $(LINKOPT) -a -o $@ $(GLLINK) $(GLMLOBJS:.cmo=.cmx)
+
+liblablgnome.a: $(GNOMECOBJS)
+       ar rc $@ $(GNOMECOBJS)
+       $(RANLIB) $@
+lablgnome.cma: $(GNOMEMLOBJS)
+       $(LINKER) -a -custom -o $@ $(GNOMEMLOBJS) \
+         -cclib -llablgnome $(GNOMELIBS)
+lablgnome.cmxa: $(GNOMEMLOBJS:.cmo=.cmx)
+       $(LINKOPT) -a -o $@ $(GNOMEMLOBJS:.cmo=.cmx) \
+         -cclib -llablgnome $(GNOMELIBS)
+
+gtkThread.cmo: gtkThread.ml
+       $(COMPILER) $(THFLAGS) gtkThread.ml
+
+gtkThread.cmx: gtkThread.ml
+       if test -f $(LIBDIR)/libthreadsnat.a; then \
+          $(COMPOPT) $(THFLAGS) gtkThread.ml; fi
+
+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* *.o *.a *_tags.[ch] $(TARGETS)
+
+ml_gtk.o: gtk_tags.c gtk_tags.h ml_gtk.h ml_gdk.h wrappers.h
+ml_gdk.o: gdk_tags.c gdk_tags.h ml_gdk.h wrappers.h
+ml_gtkgl.o: gtkgl_tags.c gtkgl_tags.h ml_gtk.h ml_gdk.h wrappers.h
+ml_gtkxmhtml.o: gtkxmhtml_tags.c gtkxmhtml_tags.h ml_gtk.h ml_gdk.h wrappers.h
+
+include .depend