X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpretor/Makefile diff --git a/interpretor/Makefile b/interpretor/Makefile deleted file mode 100644 index 715aadc..0000000 --- a/interpretor/Makefile +++ /dev/null @@ -1,237 +0,0 @@ -# Faustine interpreter Makefile. - -########################## User's variables ##################### -# -# The Caml sources (including camlyacc and camllex source files) - -SOURCES = types.ml parser.mly lexer.mll aux.ml basic.ml symbol.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 -OCAML_INCLUDE_PATH := $(subst bin,lib,$(shell which ocaml)) - -# Path to sndfile library -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 - -# Path to preprocessor library -PREPROCESSOR_PATH = $(FAUST_PATH)/compiler - -# Path to preprocessor header files -PREPROCESSOR_INCLUDE_PATH = $(PREPROCESSOR_PATH)/headers - -# Path to the interpretor documentation -OCAML_DOC_PATH = ../documentation - -########################## Advanced user's variables ##################### -# -# The Caml compilers. -# You may fix here the path to access the Caml compiler on your machine -# You may also have to add various -I options. -CAMLC = ocamlc -CAMLOPT = ocamlopt -CAMLDEP = ocamldep -CAMLLEX = ocamllex -CAMLYACC = ocamlyacc -CAMLDOC = ocamldoc -CC = g++ - -# The list of Caml libraries needed by the program -# For instance: -# LIBS=$(WITHGRAPHICS) $(WITHUNIX) $(WITHSTR) $(WITHNUMS) $(WITHTHREADS)\ -# $(WITHDBM) - -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 -# (irrelevant for ocamlopt) - -# INCLUDE=-INCLUDE - -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. -#WITHGRAPHICS =graphics.cma -cclib -lgraphics -cclib -L/usr/X11R6/lib -cclib -lX11 - -#WITHUNIX =unix.cma -cclib -lunix - -#WITHSTR =str.cma -cclib -lstr - -#WITHNUMS =nums.cma -cclib -lnums - -#WITHTHREADS =threads.cma -cclib -lthreads - -#WITHDBM =dbm.cma -cclib -lmldbm -cclib -lndbm - -WITHUNIX =unix.cma - -WITHSNDFILE = sndfile.cma - -WITHSTR = str.cma - -# c++ wrap options -GPP_CALL = -cc "g++" - -# The list of options for each compiler -CAMLC_OPTIONS = $(GPP_CALL) $(INCLUDE) $(LIBS) - -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 ##################### - - -############################################################## -################ This part should be generic -################ Nothing to set up or fix here -############################################################## - -all:: .depend.input .depend preprocessor libsndfile-ocaml $(EXEC) - -opt : .depend.input .depend preprocessor libsndfile-ocaml $(EXEC).opt - -doc : document - -#ocamlc -INCLUDE other options graphics.cma other files -cclib -lgraphics -cclib -lX11 -#ocamlc -thread -INCLUDE other options threads.cma other files -cclib -lthreads -#ocamlc -INCLUDE other options str.cma other files -cclib -lstr -#ocamlc -INCLUDE other options nums.cma other files -cclib -lnums -#ocamlc -INCLUDE other options unix.cma other files -cclib -lunix -#ocamlc -INCLUDE other options dbm.cma other files -cclib -lmldbm -cclib -lndbm - -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)) -COBJS = $(CSOURCES:.cpp=.o) -CLIBS = $(PREPROCESSOR_PATH)/preprocess.a - -PARSER_MLY = $(filter %.mly, $(SOURCES)) -LEXER_MLL = $(filter %.mll, $(SOURCES)) -MIDDLE_ML = $(PARSER_MLY:.mly=.ml) $(LEXER_MLL:.mll=.ml) - -preprocessor:: - @echo "Compiling preprocessor..." - $(MAKE) -C $(FAUST_PATH) preprocessor - -libsndfile-ocaml:: - @echo "Compiling libsndfile-ocaml..." - $(MAKE) -C $(SNDFILE_PATH) - - -$(EXEC): $(OBJS) $(COBJS) $(CLIBS) - @echo "Compiling $(EXEC)..." - cp $(SNDFILE_STUB) . - $(CAMLC) $(CAMLC_OPTIONS) -o $(EXEC) $(OBJS) $(COBJS) $(CLIBS) - -$(EXEC).opt: $(OPTOBJS) $(COBJS) $(CLIBS) - @echo "Compiling optimized $(EXEC)..." - cp $(SNDFILE_STUB) . - $(CAMLOPT) $(CAMLOPT_OPTIONS) -o $(EXEC) $(OPTOBJS) $(COBJS) $(CLIBS) - -document: $(SMLYL) $(OBJS) - @echo "Compiling documentation..." - $(CAMLDOC) $(CAMLDOC_OPTIONS) $(SMLYL) - -main.cmo: main.ml - $(CAMLC) $(INCLUDE) -c $< - -main.cmx: main.ml - $(CAMLOPT) $(INCLUDE) -c $< - -preprocess.cmo: preprocess.ml - $(CAMLC) $(GPP_CALL) -c $< - -preprocess.cmx: preprocess.ml - $(CAMLOPT) $(GPP_CALL) -c $< - -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: - $(CAMLC) -c $< - -.mli.cmi: - $(CAMLC) -c $< - -.ml.cmx: - $(CAMLOPT) -c $< - -.mll.cmo: - $(CAMLLEX) $< - $(CAMLC) -c $*.ml - -.mll.cmx: - $(CAMLLEX) $< - $(CAMLOPT) -c $*.ml - -.mly.cmo: - $(CAMLYACC) $< - $(CAMLC) -c $*.mli - $(CAMLC) -c $*.ml - -.mly.cmx: - $(CAMLYACC) $< - $(CAMLOPT) -c $*.mli - $(CAMLOPT) -c $*.ml - -.mly.cmi: - $(CAMLYACC) $< - $(CAMLC) -c $*.mli - -.mll.ml: - $(CAMLLEX) $< - -.mly.ml: - $(CAMLYACC) $< - -clean:: - rm -f *.cm[iox] *~ .*~ - rm -f $(MIDDLE_ML) *.o $(MLIS) # .depend* - @$(MAKE) -C $(SNDFILE_PATH) clean - -mrproper: clean - @$(MAKE) -C $(SNDFILE_PATH) mrproper - rm -f $(EXEC)* .depend* - -.depend.input: Makefile - @echo -n '--Checking Ocaml input files: ' - @(ls $(SMLIY) $(SMLIY:.ml=.mli) 2>/dev/null || true) \ - > .depend.new - @diff .depend.new .depend.input 2>/dev/null 1>/dev/null && \ - (echo 'unchanged'; rm -f .depend.new) || \ - (echo 'changed'; mv .depend.new .depend.input) - -depend: .depend - -.depend:: $(SMLIY) .depend.input - @echo '--Re-building dependencies' - $(CAMLDEP) $(SMLIY) $(SMLIY:.ml=.mli) > .depend - -include .depend