end of line
[scilab.git] / scilab / modules / scicos / src / xml2modelica / Makefile
1 #
2 #  XML to Modelica
3 #
4 #  Copyright (C) 2005 - 2007 Imagine S.A.
5 #  For more information or commercial use please contact us at www.amesim.com
6 #
7 #  This program is free software; you can redistribute it and/or
8 #  modify it under the terms of the GNU General Public License
9 #  as published by the Free Software Foundation; either version 2
10 #  of the License, or (at your option) any later version.
11 #
12 #  This program is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 #  GNU General Public License for more details.
16 #
17 #  You should have received a copy of the GNU General Public License
18 #  along with this program; if not, write to the Free Software
19 #  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20 #
21 #
22
23 OCAMLC=ocamlc
24 OCAMLOPT=ocamlopt
25 OCAMLDEP=ocamldep
26 CAMLP4=camlp4
27
28 OCAMLFLAGS=
29 OCAMLOPTFLAGS=
30 LFLAGS=
31 LIBS=
32 MLS=xMLTree.ml linenum.ml stringParser.ml stringLexer.ml xMLParser.ml xMLLexer.ml\
33         modelicaCodeGenerator.ml xML2Modelica.ml
34 MLIS=
35 PLATFORM=$(shell uname -s)
36 EXE=../../XML2Modelica
37
38 .SUFFIXES: .ml .mli .cmo .cmi .cmx .mlp .mpi
39
40
41 .mlp.cmo:
42         $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $(<) > $(@:.cmo=.tmp)
43         $(OCAMLC) $(OCAMLFLAGS) -c -impl $(@:.cmo=.tmp)
44         rm -f $(@:.cmo=.tmp)
45
46 .mpi.cmi:
47         $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -intf $(<) > $(@:.cmi=.tmp)
48         $(OCAMLC) $(OCAMLFLAGS) -c -intf $(@:.cmi=.tmp)
49         rm -f $(@:.cmi=.tmp)
50
51 .mlp.cmx:
52         $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $(<) > $(@:.cmx=.tmp)
53         $(OCAMLOPT) $(OCAMLOPTFLAGS) -c -impl $(@:.cmx=.tmp)
54         rm -f $(@:.cmx=.tmp)
55
56 .ml.cmo:
57         $(OCAMLC) $(OCAMLFLAGS) -c $(<)
58
59 .mli.cmi:
60         $(OCAMLC) $(OCAMLFLAGS) -c $(<)
61
62 .ml.cmx:
63         $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $(<)
64
65 %.ml %.mli: %.mly
66         ocamlyacc $(<)
67         rm -f $(<:.mly=.mli)
68
69 %.ml: %.mll
70         ocamllex $(<)
71
72
73 all : bytecode
74
75 opt: $(MLIS:.mli=.cmi) $(MLS:.ml=.cmx)
76         ocamlopt $(OCAMLOPTFLAGS) -o $(EXE) $(LFLAGS) $(LIBS:.cma=.cmxa) $(MLS:.ml=.cmx)
77
78 bytecode: $(MLIS:.mli=.cmi) $(MLS:.ml=.cmo)
79         ocamlc $(OCAMLFLAGS) -o $(EXE) $(LFLAGS) $(LIBS) $(MLS:.ml=.cmo)
80
81 debug: OCAMLFLAGS+=-g
82 debug: bytecode
83
84 prof: OCAMLOPTFLAGS+=-p
85 prof: opt
86
87 depend: $(MLS) $(MLIS)
88         touch .depend
89         ocamldep $(MLS) $(MLIS) > .depend
90
91 -include .depend
92
93 clean:
94         rm -f *.cmxa
95         rm -f *.cm[aiox]
96         rm -f *.tmp
97         rm -f *.obj
98         rm -f *.o
99         rm -f stringParser.mli
100         rm -f stringLexer.mli
101         rm -f xMLParser.mli
102         rm -f xMLLexer.mli
103         rm -f $(EXE)
104         rm -rf doc