#
# The Caml sources (including camlyacc and camllex source files)
-SOURCES = types.ml parser.mly lexer.mll value.ml signal.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
#SNDFILE_PATH = /home/wang/Desktop/libsndfile-ocaml
export SNDFILE_PATH
-# Path to Faust.mr3
-FAUST_PATH = faust-0.9.47mr3
+# Path to Faust.mr2
+FAUST_PATH = preprocessor/faust-0.9.47mr3
# Path to preprocessor library
PREPROCESSOR_PATH = $(FAUST_PATH)/compiler
# 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
WITHSNDFILE = sndfile.cma
+WITHSTR = str.cma
+
# c++ wrap options
GPP_CALL = -cc "g++"
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)
-$(EXEC).opt: $(OPTOBJS) $(COBJS)
+$(EXEC).opt: $(OPTOBJS) $(COBJS) $(CLIBS)
$(CAMLOPT) $(CAMLOPT_OPTIONS) -o $(EXEC) $(OPTOBJS) $(COBJS) $(CLIBS)
+$(CLIBS):
+ @(cd $(FAUST_PATH) && $(MAKE))
+
document: $(SMLYL) $(OBJS)
$(CAMLDOC) $(CAMLDOC_OPTIONS) $(SMLYL)
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: