add Makefile
Allan CORNET [Wed, 6 Jan 2010 11:33:43 +0000 (12:33 +0100)]
scilab/modules/scicos/src/translator/Makefile [new file with mode: 0644]
scilab/modules/scicos/src/translator/compilation/Makefile [new file with mode: 0644]
scilab/modules/scicos/src/translator/exceptionHandling/Makefile [new file with mode: 0644]
scilab/modules/scicos/src/translator/instantiation/Makefile [new file with mode: 0644]
scilab/modules/scicos/src/translator/parsing/Makefile [new file with mode: 0644]
scilab/modules/scicos/src/translator/translation/Makefile [new file with mode: 0644]

diff --git a/scilab/modules/scicos/src/translator/Makefile b/scilab/modules/scicos/src/translator/Makefile
new file mode 100644 (file)
index 0000000..5e8ca09
--- /dev/null
@@ -0,0 +1,71 @@
+#\r
+#   Translator from Modelica 2.x to flat Modelica\r
+# \r
+#   Copyright (C) 2005 – 2007 Imagine S.A.\r
+#   For more information or commercial use please contact us at www.amesim.com\r
+# \r
+#   This program is free software; you can redistribute it and/or\r
+#   modify it under the terms of the GNU General Public License\r
+#   as published by the Free Software Foundation; either version 2\r
+#   of the License, or (at your option) any later version.\r
+# \r
+#   This program is distributed in the hope that it will be useful,\r
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+#   GNU General Public License for more details.\r
+# \r
+#   You should have received a copy of the GNU General Public License\r
+#   along with this program; if not, write to the Free Software\r
+#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
+# \r
+#\r
+\r
+all: release\r
+\r
+\r
+release: \r
+       $(MAKE) opt RELEASE=yes\r
+\r
+debug:\r
+       $(MAKE) bytecode RELEASE=no\r
+\r
+depend:\r
+       $(MAKE) depends RELEASE=yes\r
+\r
+depends:\r
+       cd parsing ; $(MAKE) depend \r
+       cd compilation ; $(MAKE) depend\r
+       cd instantiation ; $(MAKE) depend\r
+       cd exceptionHandling ; $(MAKE) depend\r
+       cd translation ; $(MAKE) depend\r
+\r
+opt: \r
+       $(MAKE) depend\r
+       cd parsing ; $(MAKE)  opt  RELEASE=$(RELEASE)\r
+       cd compilation ; $(MAKE)  opt RELEASE=$(RELEASE)\r
+       cd instantiation ; $(MAKE)  opt RELEASE=$(RELEASE)\r
+       cd exceptionHandling ; $(MAKE) opt RELEASE=$(RELEASE)\r
+       cd translation ; $(MAKE) opt RELEASE=$(RELEASE)\r
+\r
+custom: \r
+       $(MAKE) depend\r
+       cd parsing ; $(MAKE)  bytecode RELEASE=$(RELEASE)\r
+       cd compilation ; $(MAKE) bytecode RELEASE=$(RELEASE)\r
+       cd instantiation ; $(MAKE) bytecode RELEASE=$(RELEASE)\r
+       cd exceptionHandling ; $(MAKE) bytecode RELEASE=$(RELEASE)\r
+       cd translation ; $(MAKE)  custom RELEASE=$(RELEASE)\r
+\r
+bytecode: \r
+       $(MAKE) depend\r
+       cd parsing ; $(MAKE)  bytecode RELEASE=$(RELEASE)\r
+       cd compilation ; $(MAKE)  bytecode RELEASE=$(RELEASE)\r
+       cd instantiation ; $(MAKE) bytecode RELEASE=$(RELEASE)\r
+       cd exceptionHandling ; $(MAKE) bytecode RELEASE=$(RELEASE)\r
+       cd translation ; $(MAKE)  bytecode RELEASE=$(RELEASE)\r
+\r
+clean:\r
+       cd parsing ; $(MAKE) clean\r
+       cd compilation ; $(MAKE) clean\r
+       cd instantiation ; $(MAKE) clean\r
+       cd exceptionHandling ; $(MAKE) clean\r
+       cd translation ; $(MAKE) clean\r
diff --git a/scilab/modules/scicos/src/translator/compilation/Makefile b/scilab/modules/scicos/src/translator/compilation/Makefile
new file mode 100644 (file)
index 0000000..59ccaf7
--- /dev/null
@@ -0,0 +1,92 @@
+#\r
+#   Translator from Modelica 2.x to flat Modelica\r
+# \r
+#   Copyright (C) 2005 - 2007 Imagine S.A.\r
+#   For more information or commercial use please contact us at www.amesim.com\r
+# \r
+#   This program is free software; you can redistribute it and/or\r
+#   modify it under the terms of the GNU General Public License\r
+#   as published by the Free Software Foundation; either version 2\r
+#   of the License, or (at your option) any later version.\r
+# \r
+#   This program is distributed in the hope that it will be useful,\r
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+#   GNU General Public License for more details.\r
+# \r
+#   You should have received a copy of the GNU General Public License\r
+#   along with this program; if not, write to the Free Software\r
+#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
+# \r
+#\r
+\r
+OCAMLDEP=ocamldep\r
+OCAMLC=ocamlc\r
+OCAMLOPT=ocamlopt\r
+CAMLP4=camlp4\r
+INCLUDES=-I ../parsing\r
+ifeq ($(RELEASE),yes)\r
+OCAMLFLAGS=$(INCLUDES)\r
+else\r
+OCAMLFLAGS=-g $(INCLUDES)\r
+endif\r
+OCAMLOPTFLAGS=$(INCLUDES)\r
+LIBS=\r
+LIBSOPT=$(LIBS:.cma=.cmxa)\r
+SRCS=types.ml nameResolve.ml\r
+\r
+\r
+OBJS=$(SRCS:.ml=.cmo)\r
+OBJSOPT=$(SRCS:.ml=.cmx)\r
+LIB=compilation.cma\r
+LIBOPT=$(LIB:.cma=.cmxa)\r
+\r
+.SUFFIXES: .ml .mli .cmo .cmi .cmx .mlp .mpi\r
+\r
+%.cmo: %mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmo=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -impl $(@:.cmo=.tmp)\r
+       rm -f $(@:.cmo=.tmp)\r
+\r
+%.cmi: %.mpi\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -intf $< > $(@:.cmi=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -intf $(@:.cmi=.tmp)\r
+       rm -f $(@:.cmi=.tmp)\r
+\r
+%.cmx: %.mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmx=.tmp)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c -impl $(@:.cmx=.tmp)\r
+       rm -f $(@:.cmx=.tmp)\r
+\r
+%.cmo: %.ml\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmi: %.mli\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmx: %.ml\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<\r
+\r
+all: bytecode\r
+\r
+opt: $(OBJSOPT)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $(LIBOPT) $(LFLAGS) $(LIBSOPT) $(OBJSOPT)\r
+\r
+bytecode: $(OBJS)\r
+       $(OCAMLC) $(OCAMLFLAGS) -a -o $(LIB) $(LFLAGS) $(LIBS) $(OBJS)\r
+\r
+\r
+depend:\r
+       $(OCAMLDEP) $(INCLUDES) $(SRCS:.ml=.mli) $(SRCS) > .depend\r
+\r
+-include .depend\r
+\r
+clean:\r
+       rm -f *.cmxa\r
+       rm -f *.cm[aiox]\r
+       rm -f *.o\r
+       rm -f *.obj\r
+       rm -f *.a\r
+       rm -f *.lib\r
+       rm -f *~\r
+\r
diff --git a/scilab/modules/scicos/src/translator/exceptionHandling/Makefile b/scilab/modules/scicos/src/translator/exceptionHandling/Makefile
new file mode 100644 (file)
index 0000000..f3c4360
--- /dev/null
@@ -0,0 +1,96 @@
+#\r
+#   Translator from Modelica 2.x to flat Modelica\r
+# \r
+#   Copyright (C) 2005 - 2007 Imagine S.A.\r
+#   For more information or commercial use please contact us at www.amesim.com\r
+# \r
+#   This program is free software; you can redistribute it and/or\r
+#   modify it under the terms of the GNU General Public License\r
+#   as published by the Free Software Foundation; either version 2\r
+#   of the License, or (at your option) any later version.\r
+# \r
+#   This program is distributed in the hope that it will be useful,\r
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+#   GNU General Public License for more details.\r
+# \r
+#   You should have received a copy of the GNU General Public License\r
+#   along with this program; if not, write to the Free Software\r
+#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
+# \r
+#\r
+\r
+OCAMLDEP=ocamldep\r
+OCAMLC=ocamlc\r
+OCAMLOPT=ocamlopt\r
+CAMLP4=camlp4\r
+INCLUDES=-I ../parsing -I ../compilation -I ../instantiation\r
+\r
+ifeq ($(RELEASE),yes)\r
+OCAMLFLAGS=$(INCLUDES)\r
+else\r
+OCAMLFLAGS=-g $(INCLUDES)\r
+endif\r
+\r
+OCAMLOPTFLAGS=$(INCLUDES)\r
+LIBS=\r
+LIBSOPT=$(LIBS:.cma=.cmxa)\r
+\r
+SRCS=errorDico.ml msgDico.ml exceptHandler.ml\r
+\r
+\r
+OBJS=$(SRCS:.ml=.cmo)\r
+OBJSOPT=$(SRCS:.ml=.cmx)\r
+LIB=exceptionHandling.cma\r
+LIBOPT=$(LIB:.cma=.cmxa)\r
+\r
+.SUFFIXES: .ml .mli .cmo .cmi .cmx .mlp .mpi\r
+\r
+%.cmo: %mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmo=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -impl $(@:.cmo=.tmp)\r
+       rm -f $(@:.cmo=.tmp)\r
+\r
+%.cmi: %.mpi\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -intf $< > $(@:.cmi=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -intf $(@:.cmi=.tmp)\r
+       rm -f $(@:.cmi=.tmp)\r
+\r
+%.cmx: %.mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmx=.tmp)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c -impl $(@:.cmx=.tmp)\r
+       rm -f $(@:.cmx=.tmp)\r
+\r
+%.cmo: %.ml %.cmi\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmi: %.mli\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmx: %.ml\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<\r
+\r
+\r
+all: bytecode\r
+\r
+opt: $(OBJSOPT)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $(LIBOPT) $(LFLAGS) $(LIBSOPT) \\r
+       $(OBJSOPT)\r
+\r
+bytecode: $(OBJS)\r
+       $(OCAMLC) $(OCAMLFLAGS) -a -o $(LIB) $(LFLAGS) $(LIBS) $(OBJS)\r
+\r
+depend:\r
+       $(OCAMLDEP) $(INCLUDES) $(SRCS:.ml=.mli) $(SRCS) > .depend\r
+\r
+-include .depend\r
+\r
+clean:\r
+       rm -f *.cmxa\r
+       rm -f *.cm[aiox]\r
+       rm -f *.o\r
+       rm -f *.obj\r
+       rm -f *.a\r
+       rm -f *.lib\r
+       rm -f *~\r
+       rm -rf doc\r
diff --git a/scilab/modules/scicos/src/translator/instantiation/Makefile b/scilab/modules/scicos/src/translator/instantiation/Makefile
new file mode 100644 (file)
index 0000000..3437160
--- /dev/null
@@ -0,0 +1,99 @@
+#\r
+#   Translator from Modelica 2.x to flat Modelica\r
+# \r
+#   Copyright (C) 2005 - 2007 Imagine S.A.\r
+#   For more information or commercial use please contact us at www.amesim.com\r
+# \r
+#   This program is free software; you can redistribute it and/or\r
+#   modify it under the terms of the GNU General Public License\r
+#   as published by the Free Software Foundation; either version 2\r
+#   of the License, or (at your option) any later version.\r
+# \r
+#   This program is distributed in the hope that it will be useful,\r
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+#   GNU General Public License for more details.\r
+# \r
+#   You should have received a copy of the GNU General Public License\r
+#   along with this program; if not, write to the Free Software\r
+#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
+# \r
+#\r
+\r
+OCAMLDEP=ocamldep\r
+OCAMLC=ocamlc\r
+OCAMLOPT=ocamlopt\r
+CAMLP4=camlp4\r
+INCLUDES=-I ../parsing -I ../compilation\r
+ifeq ($(RELEASE),yes)\r
+OCAMLFLAGS=$(INCLUDES)\r
+else\r
+OCAMLFLAGS=-g $(INCLUDES)\r
+endif\r
+OCAMLOPTFLAGS=$(INCLUDES)\r
+LIBS=\r
+LIBSOPT=$(LIBS:.cma=.cmxa)\r
+SRCS=instantiation.ml\r
+DOCS=instantiation.mli\r
+\r
+OBJS=$(SRCS:.ml=.cmo)\r
+OBJSOPT=$(SRCS:.ml=.cmx)\r
+LIB=instantiation.cma\r
+LIBOPT=$(LIB:.cma=.cmxa)\r
+\r
+.SUFFIXES: .ml .mli .cmo .cmi .cmx .mlp .mpi\r
+\r
+%.cmo: %mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmo=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -impl $(@:.cmo=.tmp)\r
+       rm -f $(@:.cmo=.tmp)\r
+\r
+%.cmi: %.mpi\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -intf $< > $(@:.cmi=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -intf $(@:.cmi=.tmp)\r
+       rm -f $(@:.cmi=.tmp)\r
+\r
+%.cmx: %.mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmx=.tmp)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c -impl $(@:.cmx=.tmp)\r
+       rm -f $(@:.cmx=.tmp)\r
+\r
+%.cmo: %.ml\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmi: %.mli\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmx: %.ml\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<\r
+\r
+all: bytecode\r
+\r
+opt: $(OBJSOPT)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $(LIBOPT) $(LFLAGS) $(LIBSOPT) \\r
+       $(OBJSOPT)\r
+\r
+bytecode: $(OBJS)\r
+       $(OCAMLC) $(OCAMLFLAGS) -a -o $(LIB) $(LFLAGS) $(LIBS) $(OBJS)\r
+\r
+doc:   $(DOCS)\r
+       mkdir -p doc\r
+       $(OCAMLC) $(INCLUDES) -c $(DOCS)\r
+       ocamldoc $(INCLUDES) -html -d doc $(DOCS)\r
+       ocamldoc $(INCLUDES) -dot -o doc/dependencies.out $(DOCS)\r
+\r
+depend:\r
+       $(OCAMLDEP) $(INCLUDES) $(SRCS:.ml=.mli) $(SRCS) > .depend\r
+\r
+-include .depend\r
+\r
+clean:\r
+       rm -f *.cmxa\r
+       rm -f *.cm[aiox]\r
+       rm -f *.o\r
+       rm -f *.obj\r
+       rm -f *.a\r
+       rm -f *.lib\r
+       rm -f *~\r
+       rm -rf doc\r
+\r
diff --git a/scilab/modules/scicos/src/translator/parsing/Makefile b/scilab/modules/scicos/src/translator/parsing/Makefile
new file mode 100644 (file)
index 0000000..98d0ae5
--- /dev/null
@@ -0,0 +1,113 @@
+#\r
+#   Translator from Modelica 2.x to flat Modelica\r
+# \r
+#   Copyright (C) 2005 - 2007 Imagine S.A.\r
+#   For more information or commercial use please contact us at www.amesim.com\r
+# \r
+#   This program is free software; you can redistribute it and/or\r
+#   modify it under the terms of the GNU General Public License\r
+#   as published by the Free Software Foundation; either version 2\r
+#   of the License, or (at your option) any later version.\r
+# \r
+#   This program is distributed in the hope that it will be useful,\r
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+#   GNU General Public License for more details.\r
+# \r
+#   You should have received a copy of the GNU General Public License\r
+#   along with this program; if not, write to the Free Software\r
+#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
+# \r
+#\r
+\r
+OCAMLDEP=ocamldep\r
+OCAMLC=ocamlc\r
+OCAMLOPT=ocamlopt\r
+CAMLP4=camlp4\r
+INCLUDES=\r
+\r
+ifeq ($(RELEASE),yes)\r
+OCAMLFLAGS=$(INCLUDES)\r
+else\r
+OCAMLFLAGS=-g $(INCLUDES)\r
+endif\r
+\r
+OCAMLOPTFLAGS=$(INCLUDES)\r
+LIBS=\r
+LIBSOPT=$(LIBS:.cma=.cmxa)\r
+SRCS=syntax.ml linenum.ml parser.ml lexer.ml\r
+\r
+\r
+OBJS=$(SRCS:.ml=.cmo)\r
+OBJSOPT=$(SRCS:.ml=.cmx)\r
+LIB=parsing.cma\r
+LIBOPT=$(LIB:.cma=.cmxa)\r
+\r
+.SUFFIXES: .ml .mli .cmo .cmi .cmx .mlp .mpi\r
+\r
+%.cmo: %mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmo=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -impl $(@:.cmo=.tmp)\r
+       rm -f $(@:.cmo=.tmp)\r
+\r
+%.cmi: %.mpi\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -intf $< > $(@:.cmi=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -intf $(@:.cmi=.tmp)\r
+       rm -f $(@:.cmi=.tmp)\r
+\r
+%.cmx: %.mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmx=.tmp)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c -impl $(@:.cmx=.tmp)\r
+       rm -f $(@:.cmx=.tmp)\r
+\r
+%.cmo: %.ml\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmi: %.mli\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmx: %.ml\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<\r
+\r
+%.ml %.mli: %.mly\r
+       ocamlyacc $(<)\r
+       rm -f $(<:.mly=.mli)\r
+\r
+%.ml: %.mll\r
+       ocamllex $(<)\r
+all: bytecode\r
+\r
+opt: $(OBJSOPT)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $(LIBOPT) $(LFLAGS) $(LIBSOPT) $(OBJSOPT)\r
+\r
+bytecode: $(OBJS)\r
+       $(OCAMLC) $(OCAMLFLAGS) -a -o $(LIB) $(LFLAGS) $(LIBS) $(OBJS)\r
+\r
+parser.ml : parser.mly\r
+       ocamlyacc parser.mly\r
+       rm -f parser.mli\r
+\r
+lexer.ml : lexer.mll\r
+       ocamllex lexer.mll\r
+\r
+linenum.ml : linenum.mll\r
+       ocamllex linenum.mll\r
+\r
+depend:\r
+       $(OCAMLDEP) $(INCLUDES) $(SRCS:.ml=.mli) $(SRCS) > .depend\r
+\r
+-include .depend\r
+\r
+clean:\r
+       rm -f *.cmxa\r
+       rm -f *.cm[aiox]\r
+       rm -f *.o\r
+       rm -f *.obj\r
+       rm -f *.a\r
+       rm -f *.lib\r
+       rm -f parser.mli\r
+       rm -f parser.output\r
+       rm -f lexer.mli\r
+       rm -f linenum.mli\r
+       rm -f *~\r
+\r
diff --git a/scilab/modules/scicos/src/translator/translation/Makefile b/scilab/modules/scicos/src/translator/translation/Makefile
new file mode 100644 (file)
index 0000000..124a40c
--- /dev/null
@@ -0,0 +1,129 @@
+#\r
+#   Translator from Modelica 2.x to flat Modelica\r
+# \r
+#   Copyright (C) 2005 - 2007 Imagine S.A.\r
+#   For more information or commercial use please contact us at www.amesim.com\r
+# \r
+#   This program is free software; you can redistribute it and/or\r
+#   modify it under the terms of the GNU General Public License\r
+#   as published by the Free Software Foundation; either version 2\r
+#   of the License, or (at your option) any later version.\r
+# \r
+#   This program is distributed in the hope that it will be useful,\r
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+#   GNU General Public License for more details.\r
+# \r
+#   You should have received a copy of the GNU General Public License\r
+#   along with this program; if not, write to the Free Software\r
+#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
+# \r
+#\r
+\r
+EXE=../../translator\r
+OCAMLDEP=ocamldep\r
+OCAMLC=ocamlc\r
+OCAMLOPT=ocamlopt\r
+CAMLP4=camlp4\r
+INCLUDES=-I ../parsing -I ../compilation -I ../instantiation -I ../exceptionHandling\r
+\r
+ifeq ($(RELEASE),yes)\r
+OCAMLFLAGS=$(INCLUDES)\r
+else\r
+OCAMLFLAGS=-g $(INCLUDES)\r
+endif\r
+\r
+OCAMLOPTFLAGS=$(INCLUDES)\r
+LIBS=../parsing/parsing.cma ../compilation/compilation.cma \\r
+       ../instantiation/instantiation.cma ../exceptionHandling/exceptionHandling.cma \\r
+       unix.cma\r
+LIBSOPT=$(LIBS:.cma=.cmxa)\r
+\r
+SRCS=codeGeneration.ml libraryManager.ml versiondate.ml\r
+\r
+\r
+OBJS=$(SRCS:.ml=.cmo)\r
+OBJSOPT=$(SRCS:.ml=.cmx)\r
+\r
+# Avoid problems with svn command\r
+LANG:=C\r
+export LANG\r
+\r
+SVNLASTCHANGEDATESTR:=$(shell svn info .. | grep "Last Changed Date:")\r
+SVNLASTCHANGEREVSTR:=$(shell svn info .. | grep "Last Changed Rev:")\r
+\r
+.SUFFIXES: .ml .mli .cmo .cmi .cmx .mlp .mpi\r
+\r
+%.cmo: %mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmo=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -impl $(@:.cmo=.tmp)\r
+       rm -f $(@:.cmo=.tmp)\r
+\r
+%.cmi: %.mpi\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -intf $< > $(@:.cmi=.tmp)\r
+       $(OCAMLC) $(OCAMLFLAGS) -c -intf $(@:.cmi=.tmp)\r
+       rm -f $(@:.cmi=.tmp)\r
+\r
+%.cmx: %.mlp\r
+       $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -impl $< > $(@:.cmx=.tmp)\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c -impl $(@:.cmx=.tmp)\r
+       rm -f $(@:.cmx=.tmp)\r
+\r
+%.cmo: %.ml %.cmi\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmi: %.mli\r
+       $(OCAMLC) $(OCAMLFLAGS) -c $<\r
+\r
+%.cmx: %.ml\r
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<\r
+\r
+\r
+all: bytecode\r
+\r
+opt: $(OBJSOPT)\r
+       $(OCAMLOPT) -verbose $(OCAMLOPTFLAGS) -o $(EXE) $(LFLAGS) $(LIBSOPT) $(OBJSOPT)  translator.ml\r
+\r
+bytecode: $(OBJS)\r
+       $(OCAMLC) $(OCAMLFLAGS) -o $(EXE) $(LFLAGS) $(LIBS) $(OBJS)     translator.ml\r
+\r
+custom: $(OBJS)\r
+       $(OCAMLC) -verbose -custom $(OCAMLFLAGS) -o $(EXE) $(LFLAGS) $(LIBS) $(OBJS) translator.ml \r
+\r
+depend: version $(SRCS)\r
+       $(OCAMLDEP) $(INCLUDES) $(SRCS:.ml=.mli) $(SRCS) > .depend\r
+\r
+versiontarget : \r
+ifeq ("$(strip $(SVNLASTCHANGEDATESTR))", "")\r
+ifeq ("$(strip $(wildcard versiondate.ml))", "")\r
+       @echo "***********************************************"\r
+       @echo "*** Could not expand the SVN version date *****"\r
+       @echo "*** using the template file as it is      *****"\r
+       @echo "*** The build date will not be correct    *****"\r
+       @echo "***********************************************"\r
+       cp -p versiondate.ml.tmpl versiondate.ml\r
+else\r
+       @echo "***********************************************"\r
+       @echo "*** Reusing existing versiondate.ml      ******"\r
+       @echo "***********************************************"\r
+endif\r
+else\r
+       sed -e '/let/s/AUTO_UPDATE_DATE/$(SVNLASTCHANGEDATESTR)/' -e '/let/s/AUTO_UPDATE_REV/$(SVNLASTCHANGEREVSTR)/' < versiondate.ml.tmpl > versiondate.ml\r
+endif\r
+\r
+version:\r
+       $(MAKE) versiontarget\r
+\r
+versiondate.ml: $(filter-out versiondate.ml, $(SRCS))\r
+       $(MAKE) versiontarget\r
+\r
+-include .depend\r
+\r
+clean:\r
+       rm -f *.cmxa\r
+       rm -f *.cm[aiox]\r
+       rm -f *.o\r
+       rm -f *.obj\r
+       rm -f $(EXE)\r
+       rm -f *~\r
+