-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathMakefile
executable file
·46 lines (33 loc) · 923 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
OCAMLDIR:= "$(shell ocamlc -where)"
CSLC = ocamlc
CSLOPT = ocamlopt
NORM_OBJS= fpu.cmo fpu_rename_all.cmo fpu_rename.cmo interval.cmo
OPT_OBJS= $(NORM_OBJS:.cmo=.cmx)
CC = gcc
all : interval.cma interval.cmxa libinterval.a doc/index.html ocamlfpu
interval.cma: $(NORM_OBJS)
$(CSLC) -a -custom -o interval.cma $(NORM_OBJS)
interval.cmxa: $(OPT_OBJS)
$(CSLOPT) -a -o interval.cmxa $(OPT_OBJS)
libinterval.a: chcw.o
rm -f $@
ar rc $@ chcw.o
ranlib $@
ocamlfpu: interval.cma libinterval.a
ocamlmktop -o ocamlfpu chcw.o interval.cma libinterval.a
.SUFFIXES: .ml .mli .cmo .cmi .cmx
.ml.cmo :
$(CSLC) -c $<
.mli.cmi :
$(CSLC) -c $<
.ml.cmx :
$(CSLOPT) -c $<
.c.o :
$(CC) -W -Wall -O3 -I $(OCAMLDIR)/caml -c $<
clean:
\rm -f *.cmo *.cmi *.cmx *.o *~ *.cma *.cmxa *.a a.out ocamlfpu ocamlfpu.exe
doc/index.html: *.mli
ocamldoc -d doc -html *.mli
depend:
ocamldep *.mli *.ml > .depend
include .depend