Add 5 example Makefiles: primitives, dilation, erosion, open, close.
[Faustine.git] / interpretor / Makefile
index f8ea173..d7ec8b7 100644 (file)
@@ -13,7 +13,10 @@ EXEC = faustine
 OCAML_INCLUDE_PATH := $(subst bin,lib,$(shell which ocaml))
 
 # Path to sndfile library
-SNDFILE_PATH := lib/src/libsndfile-ocaml
+SNDFILE_PATH := lib
+
+# Path to sndfile-ocaml library
+SNDFILE_OCAML_PATH := $(SNDFILE_PATH)/src/libsndfile-ocaml
 
 # Path to Faust.mr3
 FAUST_PATH = preprocessor/faust-0.9.47mr3
@@ -53,8 +56,8 @@ LIBS = $(WITHSNDFILE) $(WITHUNIX) $(WITHSTR)
 
 # INCLUDE=-INCLUDE
 
-INCLUDE = -I $(SNDFILE_PATH)
-SNDFILE_STUB := $(SNDFILE_PATH)/sndfile_stub.o
+INCLUDE = -I $(SNDFILE_OCAML_PATH)
+SNDFILE_STUB := $(SNDFILE_OCAML_PATH)/sndfile_stub.o
 
 # Default setting of the WITH* variables. Should be changed if your
 # local libraries are not found by the compiler.
@@ -96,9 +99,9 @@ CC_OPTIONS = -c -I$(PREPROCESSOR_INCLUDE_PATH) -I$(OCAML_INCLUDE_PATH)
 ################ Nothing to set up or fix here
 ##############################################################
 
-all:: .depend.input .depend preprocessor $(EXEC)
+all:: .depend.input .depend preprocessor libsndfile-ocaml $(EXEC)
 
-opt : .depend.input .depend preprocessor $(EXEC).opt
+opt : .depend.input .depend preprocessor libsndfile-ocaml $(EXEC).opt
 
 doc : document
 
@@ -113,6 +116,8 @@ SMLIY = $(SOURCES:.mly=.ml)
 SMLIYL = $(SMLIY:.mll=.ml)
 SMLYL = $(filter %.ml, $(SMLIYL))
 OBJS = $(SMLYL:.ml=.cmo)
+MLYS = $(filter %.mly, $(SOURCES))
+MLIS = $(MLYS:.mly=.mli)
 OPTOBJS = $(OBJS:.cmo=.cmx)
 
 CSOURCES = $(filter %.cpp, $(SOURCES))
@@ -127,6 +132,11 @@ preprocessor::
        @echo "Compiling preprocessor..."
        cd $(FAUST_PATH) && $(MAKE)
 
+libsndfile-ocaml::
+       @echo "Compiling libsndfile-ocaml..."
+       cd $(SNDFILE_PATH) && $(MAKE)
+
+
 $(EXEC): $(OBJS) $(COBJS) $(CLIBS)
        @echo "Compiling $(EXEC)..."
        cp $(SNDFILE_STUB) .
@@ -202,10 +212,12 @@ faustio.cmx: faustio.ml
        $(CAMLYACC) $<
 
 clean::
-       rm -f *.cm[iox] *~ .*~ #*#
-       rm -f $(MIDDLE_ML) *.o *.mli .depend*
+       rm -f *.cm[iox] *~ .*~
+       rm -f $(MIDDLE_ML) *.o $(MLIS) .depend*
+       @cd $(SNDFILE_PATH) && $(MAKE) clean
 
 mrproper: clean
+       @cd $(SNDFILE_PATH) && $(MAKE) mrproper
        rm -f $(EXEC)*
 
 .depend.input: Makefile