blob: 837bda87e49ff36e56efe578985a5cdf45313554 (
plain)
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
81
82
83
84
85
86
87
88
89
90
|
OCAMLC=ocamlc -g
OCAMLOPT=ocamlopt -g
OCAMLLEX=ocamllex
OCAMLYACC=ocamlyacc -v
OCAMLDEP=ocamldep
OCAMLMKLIB=ocamlmklib
LIBDIR=`$(OCAMLC) -where`/cparser
INTFS=C.mli
SRCS=Errors.ml Cabs.ml Cabshelper.ml Parse_aux.ml Parser.ml Lexer.ml \
Machine.ml \
Env.ml Cprint.ml Cutil.ml Ceval.ml \
Builtins.ml GCC.ml \
Cleanup.ml Elab.ml Rename.ml \
Transform.ml \
Unblock.ml SimplExpr.ml AddCasts.ml StructByValue.ml StructAssign.ml \
Bitfields.ml \
Parse.ml
COBJS=uint64.o
BOBJS=$(SRCS:.ml=.cmo)
NOBJS=$(SRCS:.ml=.cmx)
IOBJS=$(INTFS:.mli=.cmi)
all: cparser.cma cparser.cmxa cparser cparser.byte
install:
mkdir -p $(LIBDIR)
cp -p Cparser.cmi cparser.cma cparser.cmxa cparser.a libcparser.a dllcparser.so $(LIBDIR)
cparser: $(COBJS) $(NOBJS) Main.cmx
$(OCAMLOPT) -o cparser $(COBJS) $(NOBJS) Main.cmx
clean::
rm -f cparser
cparser.byte: $(COBJS) $(BOBJS) Main.cmo
$(OCAMLC) -custom -o cparser.byte $(COBJS) $(BOBJS) Main.cmo
clean::
rm -f cparser
cparser.cma libcparser.a: uint64.o Cparser.cmo
$(OCAMLMKLIB) -o cparser uint64.o Cparser.cmo
cparser.cmxa: uint64.o Cparser.cmx
$(OCAMLMKLIB) -o cparser uint64.o Cparser.cmx
Cparser.cmo Cparser.cmi: $(IOBJS) $(BOBJS)
$(OCAMLC) -pack -o Cparser.cmo $(IOBJS) $(BOBJS)
Cparser.cmx: $(IOBJS) $(NOBJS)
$(OCAMLOPT) -pack -o Cparser.cmx $(IOBJS) $(NOBJS)
Parser.ml Parser.mli: Parser.mly
$(OCAMLYACC) Parser.mly
clean::
rm -f Parser.ml Parser.mli Parser.output
beforedepend:: Parser.ml Parser.mli
Lexer.ml: Lexer.mll
$(OCAMLLEX) Lexer.mll
clean::
rm -f Lexer.ml
beforedepend:: Lexer.ml
.SUFFIXES: .ml .mli .cmi .cmo .cmx
.mli.cmi:
$(OCAMLC) -c $*.mli
.ml.cmo:
$(OCAMLC) -c $*.ml
.ml.cmx:
$(OCAMLOPT) -c -for-pack Cparser $*.ml
.c.o:
$(OCAMLC) -c $*.c
clean::
rm -f *.cm? *.o *.so
depend: beforedepend
$(OCAMLDEP) *.mli *.ml > .depend
include .depend
|