Makefile and configure cleaning (configure is no more needed).
[Faustine.git] / interpretor / Makefile
index 4b0027e..30a10c9 100644 (file)
@@ -1,3 +1,5 @@
+# Faustine interpreter Makefile.
+
 ########################## User's variables #####################
 #
 # The Caml sources (including camlyacc and camllex source files)
 ########################## User's variables #####################
 #
 # The Caml sources (including camlyacc and camllex source files)
@@ -5,17 +7,15 @@
 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
 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
-
 EXEC = faustine
 
 # Path to ocaml include header files
 EXEC = faustine
 
 # Path to ocaml include header files
-export OCAML_INCLUDE_PATH
+OCAML_INCLUDE_PATH := $(subst bin,lib,$(shell which ocaml))
 
 # Path to sndfile library
 
 # Path to sndfile library
-#SNDFILE_PATH = /home/wang/Desktop/libsndfile-ocaml
-export SNDFILE_PATH
+SNDFILE_PATH := lib/src/libsndfile-ocaml
 
 
-# Path to Faust.mr2
+# Path to Faust.mr3
 FAUST_PATH = preprocessor/faust-0.9.47mr3
 
 # Path to preprocessor library
 FAUST_PATH = preprocessor/faust-0.9.47mr3
 
 # Path to preprocessor library
@@ -54,6 +54,7 @@ LIBS = $(WITHSNDFILE) $(WITHUNIX) $(WITHSTR)
 # INCLUDE=-INCLUDE
 
 INCLUDE = -I $(SNDFILE_PATH)
 # INCLUDE=-INCLUDE
 
 INCLUDE = -I $(SNDFILE_PATH)
+SNDFILE_STUB := $(SNDFILE_PATH)/sndfile_stub.o
 
 # Default setting of the WITH* variables. Should be changed if your
 # local libraries are not found by the compiler.
 
 # Default setting of the WITH* variables. Should be changed if your
 # local libraries are not found by the compiler.
@@ -84,6 +85,7 @@ CAMLC_OPTIONS = $(GPP_CALL) $(INCLUDE) $(LIBS)
 CAMLOPT_OPTIONS = -p $(GPP_CALL) $(INCLUDE) $(LIBS:.cma=.cmxa) 
 
 CAMLDOC_OPTIONS = -d $(OCAML_DOC_PATH) -html $(INCLUDE)
 CAMLOPT_OPTIONS = -p $(GPP_CALL) $(INCLUDE) $(LIBS:.cma=.cmxa) 
 
 CAMLDOC_OPTIONS = -d $(OCAML_DOC_PATH) -html $(INCLUDE)
+
 CC_OPTIONS = -c -I$(PREPROCESSOR_INCLUDE_PATH) -I$(OCAML_INCLUDE_PATH)
 
 ################ End of user's variables #####################
 CC_OPTIONS = -c -I$(PREPROCESSOR_INCLUDE_PATH) -I$(OCAML_INCLUDE_PATH)
 
 ################ End of user's variables #####################
@@ -121,16 +123,22 @@ 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))
+preprocessor::
+       @echo "Compiling preprocessor..."
+       cd $(FAUST_PATH) && $(MAKE)
 
 
-$(EXEC): $(OBJS) $(COBJS)
+$(EXEC): $(OBJS) $(COBJS) $(CLIBS)
+       @echo "Compiling $(EXEC)..."
+       cp $(SNDFILE_STUB) .
        $(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)
+       @echo "Compiling optimized $(EXEC)..."
+       cp $(SNDFILE_STUB) .
        $(CAMLOPT) $(CAMLOPT_OPTIONS) -o $(EXEC) $(OPTOBJS) $(COBJS) $(CLIBS)
 
 document: $(SMLYL) $(OBJS)
        $(CAMLOPT) $(CAMLOPT_OPTIONS) -o $(EXEC) $(OPTOBJS) $(COBJS) $(CLIBS)
 
 document: $(SMLYL) $(OBJS)
+       @echo "Compiling documentation..."
        $(CAMLDOC) $(CAMLDOC_OPTIONS) $(SMLYL)
 
 main.cmo: main.ml
        $(CAMLDOC) $(CAMLDOC_OPTIONS) $(SMLYL)
 
 main.cmo: main.ml