Updated deps.
[perl4caml.git] / Makefile
1 # Interface to Perl from OCaml.
2 # Copyright (C) 2003 Merjis Ltd.
3 # $Id: Makefile,v 1.4 2003-10-12 11:57:07 rich Exp $
4
5 include Makefile.config
6
7 OCAMLC := ocamlc
8 OCAMLOPT := ocamlopt
9 OCAMLMKLIB := ocamlmklib
10 OCAMLDEP := ocamldep
11
12 OCAMLCFLAGS := -w s -g
13 OCAMLOPTFLAGS := -w s
14
15 CC := gcc
16 CFLAGS := -Wall -Wno-unused -I$(PERLINCDIR)
17
18 all:    perl.cma examples/test
19
20 opt:    perl.cmxa
21
22 perl.cma: perl.cmo perl_c.o
23         $(OCAMLMKLIB) -o perl $^ -lperl
24
25 perl.cmxa: perl.cmx perl_c.o
26         $(OCAMLMKLIB) -o perl $^ -lperl
27
28 examples/test: examples/test.ml
29         $(OCAMLC) $(OCAMLCFLAGS) perl.cma $^ -o $@
30
31 %.cmi: %.mli
32         $(OCAMLC) $(OCAMLCFLAGS) -c $<
33
34 %.cmo: %.ml
35         $(OCAMLC) $(OCAMLCFLAGS) -c $<
36
37 %.cmx: %.ml
38         $(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<
39
40 .SUFFIXES: .mli .ml .cmi .cmo .cmx
41
42 # Clean.
43
44 JUNKFILES = core *~ *.bak *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so
45
46 clean:
47         rm -f examples/test
48         for d in . examples; do (cd $$d; rm -f $(JUNKFILES)); done
49
50 # Build dependencies.
51
52 ifeq ($(wildcard .depend),.depend)
53 include .depend
54 endif
55
56 depend: .depend
57
58 .depend: $(wildcard *.ml) $(wildcard *.mli)
59         $(OCAMLDEP) *.mli *.ml examples/*.ml > .depend