Add simple licence-plate example.
[Faustine.git] / interpretor / Makefile
index 6de2b12..8576eda 100644 (file)
@@ -2,11 +2,11 @@
 #
 # The Caml sources (including camlyacc and camllex source files)
 
 #
 # The Caml sources (including camlyacc and camllex source files)
 
-SOURCES = types.ml parser.mly lexer.mll basic.ml symbol.ml value.ml signal.ml beam.ml faustexp.ml interpreter.ml preprocess.ml main.ml preprocess_stubs.cpp
+SOURCES = types.ml parser.mly lexer.mll basic.ml symbol.ml aux.ml value.ml signal.ml beam.ml process.ml faustio.ml preprocess.ml main.ml preprocess_stubs.cpp
 
 # The executable file to generate
 
 
 # The executable file to generate
 
-EXEC = mrfausti
+EXEC = faustine
 
 # Path to ocaml include header files
 export OCAML_INCLUDE_PATH
 
 # Path to ocaml include header files
 export OCAML_INCLUDE_PATH
@@ -16,7 +16,7 @@ export OCAML_INCLUDE_PATH
 export SNDFILE_PATH
 
 # Path to Faust.mr2
 export SNDFILE_PATH
 
 # Path to Faust.mr2
-FAUST_PATH = faust-0.9.47mr3
+FAUST_PATH = preprocessor/faust-0.9.47mr3
 
 # Path to preprocessor library
 PREPROCESSOR_PATH = $(FAUST_PATH)/compiler
 
 # Path to preprocessor library
 PREPROCESSOR_PATH = $(FAUST_PATH)/compiler
@@ -45,7 +45,7 @@ CC = g++
 # LIBS=$(WITHGRAPHICS) $(WITHUNIX) $(WITHSTR) $(WITHNUMS) $(WITHTHREADS)\
 # $(WITHDBM)
 
 # LIBS=$(WITHGRAPHICS) $(WITHUNIX) $(WITHSTR) $(WITHNUMS) $(WITHTHREADS)\
 # $(WITHDBM)
 
-LIBS = $(WITHSNDFILE) $(WITHUNIX)
+LIBS = $(WITHSNDFILE) $(WITHUNIX) $(WITHSTR)
 
 # Should be set to -INCLUDE if you use any of the libraries above
 # or if any C code have to be linked with your program
 
 # Should be set to -INCLUDE if you use any of the libraries above
 # or if any C code have to be linked with your program
@@ -73,6 +73,8 @@ WITHUNIX =unix.cma
 
 WITHSNDFILE = sndfile.cma
 
 
 WITHSNDFILE = sndfile.cma
 
+WITHSTR = str.cma
+
 # c++ wrap options
 GPP_CALL = -cc "g++"
 
 # c++ wrap options
 GPP_CALL = -cc "g++"
 
@@ -119,15 +121,15 @@ PARSER_MLY = $(filter %.mly, $(SOURCES))
 LEXER_MLL = $(filter %.mll, $(SOURCES))
 MIDDLE_ML = $(PARSER_MLY:.mly=.ml) $(LEXER_MLL:.mll=.ml)
 
 LEXER_MLL = $(filter %.mll, $(SOURCES))
 MIDDLE_ML = $(PARSER_MLY:.mly=.ml) $(LEXER_MLL:.mll=.ml)
 
-preprocessor:
-       @(cd $(FAUST_PATH) && $(MAKE))
-
-$(EXEC): $(OBJS) $(COBJS)
+$(EXEC): $(OBJS) $(COBJS) $(CLIBS)
        $(CAMLC) $(CAMLC_OPTIONS) -o $(EXEC) $(OBJS) $(COBJS) $(CLIBS)
 
        $(CAMLC) $(CAMLC_OPTIONS) -o $(EXEC) $(OBJS) $(COBJS) $(CLIBS)
 
-$(EXEC).opt: $(OPTOBJS) $(COBJS)
+$(EXEC).opt: $(OPTOBJS) $(COBJS) $(CLIBS)
        $(CAMLOPT) $(CAMLOPT_OPTIONS) -o $(EXEC) $(OPTOBJS) $(COBJS) $(CLIBS)
 
        $(CAMLOPT) $(CAMLOPT_OPTIONS) -o $(EXEC) $(OPTOBJS) $(COBJS) $(CLIBS)
 
+$(CLIBS):
+       @(cd $(FAUST_PATH) && $(MAKE))
+
 document: $(SMLYL) $(OBJS)
        $(CAMLDOC) $(CAMLDOC_OPTIONS) $(SMLYL)
 
 document: $(SMLYL) $(OBJS)
        $(CAMLDOC) $(CAMLDOC_OPTIONS) $(SMLYL)
 
@@ -146,6 +148,12 @@ preprocess.cmx: preprocess.ml
 preprocess_stubs.o: preprocess_stubs.cpp
        $(CC) $(CC_OPTIONS) $< 
 
 preprocess_stubs.o: preprocess_stubs.cpp
        $(CC) $(CC_OPTIONS) $< 
 
+faustio.cmo: faustio.ml
+       $(CAMLC) $(INCLUDE) $(LIBS) -c $<
+
+faustio.cmx: faustio.ml
+       $(CAMLOPT) $(INCLUDE) $(LIBS:.cma=.cmxa) -c $<
+
 .SUFFIXES: .ml .mli .cmo .cmi .cmx .mll .mly 
 
 .ml.cmo:
 .SUFFIXES: .ml .mli .cmo .cmi .cmx .mll .mly 
 
 .ml.cmo: