source: Deliverables/D2.2/8051/cparser/Makefile @ 486

Last change on this file since 486 was 486, checked in by ayache, 8 years ago

Deliverable D2.2

File size: 1.9 KB
Line 
1OCAMLC=ocamlc -g
2OCAMLOPT=ocamlopt -g
3OCAMLLEX=ocamllex
4OCAMLYACC=ocamlyacc -v
5OCAMLDEP=ocamldep
6OCAMLMKLIB=ocamlmklib
7
8LIBDIR=../lib
9
10INTFS=C.mli
11
12SRCS=Errors.ml Cabs.ml Cabshelper.ml Parse_aux.ml Parser.ml Lexer.ml \
13  Machine.ml \
14  Env.ml Cprint.ml Cutil.ml Ceval.ml \
15  Builtins.ml GCC.ml CBuiltins.ml \
16  Cleanup.ml Elab.ml Rename.ml \
17  Transform.ml \
18  Unblock.ml SimplExpr.ml AddCasts.ml StructByValue.ml StructAssign.ml \
19  Bitfields.ml \
20  Parse.ml
21
22COBJS=uint64.o
23BOBJS=$(SRCS:.ml=.cmo)
24NOBJS=$(SRCS:.ml=.cmx)
25IOBJS=$(INTFS:.mli=.cmi)
26NATIVETARGETS=$(shell if `which ocamlopt`; \
27                then echo "cparser.cmxa cparser cparser.a libcparser.a dllcparser.so"; fi)
28
29all: $(NATIVETARGETS) cparser.cma cparser.byte
30
31install:
32        mkdir -p $(LIBDIR)
33        cp -p Cparser.cmi cparser.cma $(NATIVETARGETS) $(LIBDIR)
34
35cparser: $(COBJS) $(NOBJS) Main.cmx
36        $(OCAMLOPT) -o cparser $(COBJS) $(NOBJS) Main.cmx
37
38cparser.byte: $(COBJS) $(BOBJS) Main.cmo
39        $(OCAMLC) -custom -o cparser.byte $(COBJS) $(BOBJS) Main.cmo
40
41cparser.cma libcparser.a: uint64.o Cparser.cmo
42        $(OCAMLMKLIB) -o cparser uint64.o Cparser.cmo
43
44cparser.cmxa: uint64.o Cparser.cmx
45        $(OCAMLMKLIB) -o cparser uint64.o Cparser.cmx
46
47Cparser.cmo Cparser.cmi: $(IOBJS) $(BOBJS)
48        $(OCAMLC) -pack -o Cparser.cmo $(IOBJS) $(BOBJS)
49
50Cparser.cmx: $(IOBJS) $(NOBJS)
51        $(OCAMLOPT) -pack -o Cparser.cmx $(IOBJS) $(NOBJS)
52
53Parser.ml Parser.mli: Parser.mly
54        $(OCAMLYACC) Parser.mly
55
56clean::
57        rm -f Parser.ml Parser.mli Parser.output
58
59beforedepend:: Parser.ml Parser.mli
60
61Lexer.ml: Lexer.mll
62        $(OCAMLLEX) Lexer.mll
63
64clean::
65        rm -f Lexer.ml
66
67beforedepend:: Lexer.ml
68
69.SUFFIXES: .ml .mli .cmi .cmo .cmx
70
71.mli.cmi:
72        $(OCAMLC) -c $*.mli
73.ml.cmo:
74        $(OCAMLC) -c $*.ml
75.ml.cmx:
76        $(OCAMLOPT) -c -for-pack Cparser $*.ml
77.c.o:
78        $(OCAMLC) -c $*.c
79
80clean::
81        rm -f *.cm? *.o *.so *.a *.cmxa *.byte cparser
82
83depend: beforedepend
84        $(OCAMLDEP) *.mli *.ml > .depend
85
86include .depend
Note: See TracBrowser for help on using the repository browser.