b42813b1b2062bbdea8989c99d392088b059d4d5
[perl4caml.git] / Makefile
1 # Interface to Perl from OCaml.
2 # Copyright (C) 2003 Merjis Ltd.
3 # $Id: Makefile,v 1.2 2003-10-12 10:52:00 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 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 test:   test.ml
29         $(OCAMLC) 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 clean:
45         rm -f core *~ *.bak *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so test
46
47 # Build dependencies.
48
49 ifeq ($(wildcard .depend),.depend)
50 include .depend
51 endif
52
53 depend: .depend
54
55 .depend: $(wildcard *.ml) $(wildcard *.mli)
56         $(OCAMLDEP) *.mli *.ml > .depend