-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
72 lines (57 loc) · 1.4 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
#Vaibhav Bhandari 6th Nov
# $Id: Makefile,v 1.16 2003/06/11 13:14:27 vaibhav Exp $
OCAMLC=ocamlc
OCAMLLEX=ocamllex
OCAMLYACC=ocamlyacc
OCAMLDEP = ocamldep
INCLUDES= -verbose str.cma
OCAMLFLAGS=$(INCLUDES)
OCAMLLEXFLAGS=
OCAMLYACCFLAGS=
DOCTOOL = ocamldoc
DOCDIR = mv2rm_doc
FILES= lexer parser main ass codegen ast
#Order below matters for symbol resolution
OBJS= ast.cmo ass.cmo codegen.cmo parser.cmo lexer.cmo main.cmo
BIN = mv2rm
TEST= ../test/arbiter.mv
MAIN_FILE = $(DOCDIR)
WWW_FILE_BAKUP = $(MAIN_FILE).bak
WWWDIR=/projects/bubble/dvlab
#Rules
all: $(OBJS)
$(OCAMLC) -o $(BIN) $(OCAMLFLAGS) $(OBJS)
clean:
rm -f *.rm
rm -f lexer.ml parser.ml parser.mli
rm -f *.cm[io]
htmldoc:
$(DOCTOOL) -html -d $(DOCDIR) *.ml
webput:
mv $(WWWDIR)/$(MAIN_FILE) $(WWWDIR)/$(WWW_FILE_BAKUP)
cp -r $(DOCDIR) $(WWWDIR)
chmod -R a+rx $(WWWDIR)/$(MAIN_FILE)
neat:
rm *~
test: all
# clear
$(BIN) -o test.rm $(TEST)
update:
scp -r vaibhav@kala.cse.ucsc.edu:/projects/bubble/people/vaibhav/blifmv2rm/* .
copy:
make clean
scp -r * vaibhav@kala.cse.ucsc.edu:/projects/bubble/people/vaibhav/blifmv2rm/
#Common Rules
.SUFFIXES: .ml .mli .cmo .cmi .mly .mll
.mll.ml:
$(OCAMLLEX) $(OCAMLLEXFLAGS) $<
.mly.ml:
$(OCAMLYACC) $(OCAMLYACCFLAGS) $<
.ml.cmo:
$(OCAMLC) $(OCAMLFLAGS) -c $<
.mli.cmi:
$(OCAMLC) $(OCAMLFLAGS) -c $<
#Dependencies
.depend: parser.ml lexer.ml
$(OCAMLDEP) *.mli *.ml > .depend
include .depend