/
Makefile
80 lines (54 loc) · 1.31 KB
/
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
##
## Makefile for in /home/ghukas_g/rendu/ocaml_bistro
##
## Made by Grisha GHUKASYAN
## Login <ghukas_g@epitech.net>
##
## Started on Thu Apr 2 18:06:52 2015 Grisha GHUKASYAN
## Last update Sun Apr 5 15:44:41 2015 Grisha GHUKASYAN
##
NAME = bistro
ML = bigint.ml arithExpr.ml parser.ml lexer.ml main.ml
MLI = bigint.mli arithExpr.mli parser.mli
MLY = parser.mly
MLL = lexer.mll
LIB = str.cma
CMI = $(MLI:.mli=.cmi)
CMO = $(ML:.ml=.cmo)
CMX = $(ML:.ml=.cmx)
OBJ = $(ML:.ml=.o)
OMLY = $(MLY:.mly=.ml)
OMLL = $(MLL:.mll=.ml)
OCAMLDPE = ocamldep
CAMLFLAGS = -w Aelz -warn-error A
OCAMLC = ocamlc $(CAMLFLAGS)
OCAMLOPT = ocamlopt $(CAMLFLAGS)
OCAMLDOC = ocamldoc -html -d $(ROOT)/doc
MENHIR = menhir
OCAMLLEX = ocamllex
all: .depend $(OMLY) $(OMLL) $(CMI) $(NAME)
byte: .depend $(OMLY) $(OMLL) $(CMI) $(NAME).byte
$(NAME): $(CMX)
$(OCAMLOPT) -o $@ $(LIB:.cma=.cmxa) $(CMX)
$(NAME).byte: $(CMO)
$(OCAMLC) -o $@ $(LIB) $(CMO)
%.ml: %.mly
$(MENHIR) $<
%.ml: %.mll
$(OCAMLLEX) $<
%.cmx: %.ml
$(OCAMLOPT) -c $<
%.cmo: %.ml
$(OCAMLC) -c $<
%.cmi: %.mli
$(OCAMLC) -c $<
documentation: $(CMI)
$(OCAMLDOC) $(MLI)
re: fclean all
clean:
rm -f *.cmi $(CMO) $(CMX) $(OBJ) $(OMLY) $(OMLL) .depend
fclean: clean
rm -f $(NAME) $(NAME).byte
.depend:
rm -f .depend
$(OCAMLDPE) $(MLI) $(ML) > .depend