X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Flablgtk%2Flablgtk_20000829-0.1.0%2FMakefile;fp=helm%2FDEVEL%2Flablgtk%2Flablgtk_20000829-0.1.0%2FMakefile;h=23157f2676340abcc8a5bd4d1269d4d1c0b0aac3;hb=2ee84a2a641938988703e329aef9fc3c5eb5aacf;hp=0000000000000000000000000000000000000000;hpb=34d83812af9b7064cc8f735c2a78169881140010;p=helm.git 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 index 000000000..23157f267 --- /dev/null +++ b/helm/DEVEL/lablgtk/lablgtk_20000829-0.1.0/Makefile @@ -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