Makefiles chain, dependancies and libsndfile configure checked.
[Faustine.git] / interpretor / lib / Makefile
index e249b40..5c8d5ad 100644 (file)
@@ -1,40 +1,33 @@
-LIBSNDFILESRC := src/libsndfile-1.0.25
-prefix := libsndfile
-rootdir := $(abspath .)
-#TARGETDIR ?= ""
-#PREFIX ?= /usr/local
-#prefix := $(DESTDIR)$(PREFIX)
-#arch   := $(wildcard architecture/*.*)
+# Faustine library dependancies Makefile.
+
+LIBSNDFILE_SRCDIR ?= src/libsndfile-1.0.25
+LIBSFOCAML_SRCDIR ?= src/libsndfile-ocaml
+LIBSNDFILE_DESTNAME ?= libsndfile
+DESTDIR := $(abspath .)/$(LIBSNDFILE_DESTNAME)
 
 all: librairies
 
-librairies :: libsndfile
-#      @cp $(SNDFILE_PATH)/sndfile_stub.o $(SRC_DIR)
-#      @cd $(SRC_DIR) && $(MAKE) opt OCAML_INCLUDE_PATH=$(OCAML_INCLUDE_PATH) SNDFILE_PATH=$(SNDFILE_PATH)
-#      @cd $(SRC_DIR) && $(MAKE) clean
+librairies : libsndfile libsfocaml
 
 libsndfile:
-       mkdir -p $(prefix)
-       cd $(LIBSNDFILESRC) && ./configure --prefix="$(rootdir)/$(prefix)" --exec_prefix="$(rootdir)/$(prefix)"
-       cd $(LIBSNDFILESRC) && make
-       cd $(LIBSNDFILESRC) && make install
+       $(MAKE) -C $(LIBSNDFILE_SRCDIR)
+       $(MAKE) -C $(LIBSNDFILE_SRCDIR) install
+
+libsfocaml:
+       cd $(LIBSFOCAML_SRCDIR) && PKG_CONFIG_PATH=$(DESTDIR)/lib/pkgconfig
+       $(MAKE) -C $(LIBSFOCAML_SRCDIR) depend
+       $(MAKE) -C $(LIBSFOCAML_SRCDIR)
 
-.PHONY: clean mrproper help libsndfile
+.PHONY: clean mrproper help libsndfile libsfocaml
 
 help :
        @echo "make or make all : compile librairies"
        @echo "make clean : remove all object files"
 
 clean:
-       @(cd $(LIBSNDFILESRC) && $(MAKE) clean)
        @(rm -f *~)
 
 mrproper: clean
-       @(cd $(LIBSNDFILESRC) && $(MAKE) clean)
-
-
-# Library paths for OCaml and libsndfile-ocaml
-# OCAML_INCLUDE_PATH
-# SNDFILE_PATH
-OCAML_INCLUDE_PATH = /usr/local/lib/ocaml
-SNDFILE_PATH = /Users/karimbarkati/Boulot/2013-07-CRI/Interpretor/libsndfile-ocaml
+       rm -rf $(DESTDIR)
+       @($(MAKE) -C $(LIBSNDFILE_SRCDIR) clean)
+       @($(MAKE) -C $(LIBSFOCAML_SRCDIR) clean)