1 LIBSNDFILEDIR
= $(realpath ..
/..
/libsndfile
/lib
)
4 CFLAGS
= -g
-W
-Wall
-Werror
-Wno-missing-field-initializers
11 SNDFILE_CFLAGS
= $(shell pkg-config
--cflags sndfile
)
12 SNDFILE_LIBS
= $(shell pkg-config
--libs sndfile
)
14 OCAML_BINDIR
= $(shell which ocaml
)
15 OCAML_LIBDIR
= $(subst bin
,lib
,$(OCAML_BINDIR
))
16 OCAML_CFLAGS
= -I
$(OCAML_LIBDIR
)
18 LIBSNDFILE
= -ccopt
-L
$(LIBSNDFILEDIR
) -cclib
-lsndfile
-cclib
-lm
20 all: sndfile.cma sndfile.cmxa
22 sndfile.cma
: sndfile.ml sndfile.cmi sndfile_stub.o
23 $(OCAMLC
) -c sndfile.ml
24 $(OCAMLC
) -a
-o
$@
-custom sndfile_stub.o sndfile.cmo
$(LIBSNDFILE
)
27 sndfile.cmxa
: sndfile.ml sndfile.cmi sndfile_stub.o
28 $(OCAMLOPT
) -c sndfile.ml
29 $(OCAMLOPT
) -a
-o
$@ sndfile.cmx sndfile_stub.o
$(LIBSNDFILE
)
31 Sndfile.html
: sndfile.mli sndfile.cmi
32 $(OCAMLDOC
) -stars
-html
-colorize-code
$<
35 sndfile_stub.o
: sndfile_stub.c
36 $(CC
) $(CFLAGS
) $(SNDFILE_CFLAGS
) $(OCAML_CFLAGS
) -c
$<
38 sndfile_stub.e
: sndfile_stub.c
39 $(CC
) $(CFLAGS
) -E
$(SNDFILE_CFLAGS
) $(OCAML_CFLAGS
) -c
$< > $@
45 depend
: sndfile.ml sndfile.mli
46 $(OCAMLDEP
) *.mli
*.ml
> .depend
48 .depend
: sndfile.ml sndfile.mli
49 $(OCAMLDEP
) *.mli
*.ml
> .depend
53 ########################################################################
55 test_sndfile
: sndfile.cma test_sndfile.ml
56 $(OCAMLC
) -o
$@ sndfile.cma test_sndfile.ml
58 test_sndfile.opt
: sndfile.cmxa test_sndfile.ml
59 $(OCAMLOPT
) -o
$@ sndfile.cmxa test_sndfile.ml
61 check : test_sndfile test_sndfile.opt
65 ########################################################################
68 rm -f
*~ .
*~
*.o
*.cm
[aiox
] *.cmxa
*.a
*.so test_sndfile test_sndfile.opt
69 @ find .
-type f
-perm
+u
=x
-exec
rm -f
{} \
;