]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/lablgtk_gtkmathview/lablgtk-20001129_gtkmathview-0.2.2/Makefile
Initial revision
[helm.git] / helm / DEVEL / lablgtk_gtkmathview / lablgtk-20001129_gtkmathview-0.2.2 / Makefile
1 # Makefile for lablgtk_mathview.
2
3 LABLGTKDIR = /usr/lib/ocaml/lablgtk
4 MINIDOMDIR = ./minidom
5 TESTDIR = ./test
6 MLFLAGS += -I $(LABLGTKDIR) -I $(MINIDOMDIR)
7
8 TARGETS = ml_gtk_mathview.o lablgtkmathview.cma
9
10 all: Minidom $(TARGETS)
11
12 opt: Minidom.opt lablgtkmathviewopt
13
14 Minidom:
15         cd $(MINIDOMDIR); make
16
17 Minidom.opt:
18         cd $(MINIDOMDIR); make opt
19
20 configure:
21         @rm -f config.make
22         @$(MAKE) --no-print-directory -f configure.mk
23
24 depend:
25         @rm -f .depend
26         @$(MAKE) --no-print-directory -f configure.mk .depend
27
28 .depend config.make:
29         @$(MAKE) --no-print-directory -f configure.mk
30
31 COMPILER = $(CAMLC) $(MLFLAGS) -w s -labels -c
32 LINKER = $(CAMLC) $(MLFLAGS)
33 COMPOPT = $(CAMLOPT) $(MLFLAGS) -w s -labels -c
34 LINKOPT = $(CAMLOPT) $(MLFLAGS)
35
36 include config.make
37
38 INSTALLDIR = $(LIBDIR)/lablgtk/mathview
39
40 MLLIBS = lablgtkmathview.cma
41 CLIBS = 
42 MLLINK = unix.cma str.cma
43
44 ifdef DEBUG
45 CFLAGS = -g $(GTKCFLAGS)
46 MLLINK += -cclib -lcamlrund
47 MLFLAGS += -g
48 else
49 CFLAGS = -O -DGTK_NO_CHECK_CASTS -DGTK_DISABLE_COMPAT_H $(GTKCFLAGS)
50 endif
51 CFLAGS += $(MINIDOMCFLAGS) $(GTKMATHVIEWCFLAGS)
52
53 THFLAGS = -thread
54 THLINK = unix.cma threads.cma
55
56 ifdef USE_CC
57 CCOMPILER = $(CC) -c -I$(LIBDIR) $(CFLAGS)
58 else
59 CCOMPILER = ocamlc -c -ccopt "$(CFLAGS)"
60 endif
61
62 # Rules
63 .SUFFIXES: .ml .mli .cmo .cmi .cmx .c .o .var .h .opt .def
64 .c.o:
65         $(CCOMPILER) $<
66 .ml.cmo:
67         $(COMPILER) $<
68 .mli.cmi:
69         $(COMPILER) $<
70 .ml.cmx:
71         $(COMPOPT) $<
72 .var.h:
73         ./var2def < $< > $@
74 .var.c:
75         ./var2conv < $< > $@
76
77 # Targets
78 COBJS = ml_gtk_mathview.o
79 MLOBJS = gtk_mathview.cmo gtkMathView.cmo gMathView.cmo
80 ALLOBJS = $(MLOBJS)
81
82 lablgtkmathviewopt: $(CLIBS) $(MLLIBS:.cma=.cmxa)
83
84 install:
85         if test -d $(INSTALLDIR); then : ; else mkdir -p $(INSTALLDIR); fi
86         cp $(ALLOBJS:.cmo=.cmi) $(INSTALLDIR)
87         if test -f *.mli ; then cp *.mli $(INSTALLDIR) ; fi
88         cp $(ALLOBJS:.cmo=.ml) $(INSTALLDIR)
89         cp $(MLLIBS) $(INSTALLDIR)
90         cp $(COBJS) $(INSTALLDIR)
91         if test ! -z "$(CLIBS)" ; then cp $(CLIBS) $(INSTALLDIR) ; fi
92         if test -f lablgtkmathview.cmxa; then \
93            cp $(MLLIBS:.cma=.cmxa) $(MLLIBS:.cma=.a) \
94               $(INSTALLDIR); fi
95
96 lablgtkmathview.cma: $(MLOBJS)
97         $(LINKER) -a -custom -o $@ $(MLOBJS) $(GTKLIBS) -cclib "$(GTKMATHVIEWLIBS)" -cclib "$(MINIDOMLIBS)"
98 lablgtkmathview.cmxa: $(MLOBJS:.cmo=.cmx)
99         $(LINKOPT) -a -o $@ $(MLOBJS:.cmo=.cmx) $(GTKLIBS) -cclib "$(GTKMATHVIEWLIBS)" -cclib "$(MINIDOMLIBS)"
100
101 ml_gtk.o: $(LABLGTKDIR)/gtk_tags.c $(LABLGTKDIR)/gtk_tags.h \
102           $(LABLGTKDIR)/ml_gtk.h $(LABLGTKDIR)/ml_gdk.h $(LABLGTKDIR)/wrappers.h
103
104 clean:
105         rm -f *.cm* *.o *.a *_tags.[ch] $(TARGETS)
106         cd $(MINIDOMDIR); make clean
107         cd $(TESTDIR); make clean
108
109 include .depend