libsndfile-ocaml source files.
[Faustine.git] / interpretor / lib / src / libsndfile-ocaml / Makefile
1
2 CC = gcc
3 CFLAGS = -g -W -Wall -Werror
4
5 OCAMLC = ocamlc
6 OCAMLOPT = ocamlopt
7 OCAMLDEP = ocamldep
8 OCAMLDOC = ocamldoc
9
10 SNDFILE_CFLAGS = $(shell pkg-config --cflags sndfile)
11 SNDFILE_LIBS = $(shell pkg-config --libs sndfile)
12
13 OCAML_CFLAGS = -I /usr/lib/ocaml/$(shell ocamlopt -version)
14
15 LIBSNDFILE = -ccopt -L/home/erikd/Local/lib -cclib -lsndfile -cclib -lm
16
17 all: sndfile.cma sndfile.cmxa
18
19 sndfile.cma: sndfile.ml sndfile.cmi sndfile_stub.o
20 $(OCAMLC) -c sndfile.ml
21 $(OCAMLC) -a -o $@ -custom sndfile_stub.o sndfile.cmo $(LIBSNDFILE)
22
23
24 sndfile.cmxa: sndfile.ml sndfile.cmi sndfile_stub.o
25 $(OCAMLOPT) -c sndfile.ml
26 $(OCAMLOPT) -a -o $@ sndfile.cmx sndfile_stub.o $(LIBSNDFILE)
27
28 Sndfile.html: sndfile.mli sndfile.cmi
29 $(OCAMLDOC) -stars -html -colorize-code $<
30
31
32 sndfile_stub.o: sndfile_stub.c
33 $(CC) $(CFLAGS) $(SNDFILE_CFLAGS) $(OCAML_CFLAGS) -c $<
34
35 sndfile_stub.e: sndfile_stub.c
36 $(CC) $(CFLAGS) -E $(SNDFILE_CFLAGS) $(OCAML_CFLAGS) -c $< > $@
37
38 %.cmi: %.mli
39 $(OCAMLC) -c $<
40
41
42 depend: sndfile.ml sndfile.mli
43 $(OCAMLDEP) *.mli *.ml > .depend
44
45 .depend: sndfile.ml sndfile.mli
46 $(OCAMLDEP) *.mli *.ml > .depend
47
48 include .depend
49
50 ########################################################################
51
52 test_sndfile: sndfile.cma test_sndfile.ml
53 $(OCAMLC) -o $@ sndfile.cma test_sndfile.ml
54
55 test_sndfile.opt: sndfile.cmxa test_sndfile.ml
56 $(OCAMLOPT) -o $@ sndfile.cmxa test_sndfile.ml
57
58 check : test_sndfile test_sndfile.opt
59 ./test_sndfile
60 ./test_sndfile.opt
61
62 ########################################################################
63
64 clean:
65 rm -f *~ .*~ *.o *.cm[aiox] *.cmxa *.a *.so test_sndfile test_sndfile.opt
66 @ find . -type f -perm +u=x -exec rm -f {} \;
67 @ rm -f *.html *.css