Initial checkin of Jade.
[charm.git] / src / langs / jade / Makefile
1 # Compiles libjade.a and puts it into place
2 # Compiles *.g files, which requires ANTLR
3 #  Puts resulting .java files into place in charm/java/charm/jade/
4
5 CDIR=../../..
6 #Antlr jar files needed for jade user
7 AUDIR = $(CDIR)/bin/charmjavabin/antlr.jar
8 #Antlr jar files needed for jade developer
9 ADDIR = $(CDIR)/bin/charmjavabin/antlralld.jar
10
11 CHARMC=$(CDIR)/bin/charmc $(OPTS)
12 CP=/bin/cp
13 MV=/bin/mv
14
15 LIB = libjade.a
16 LIBOBJ = JArray.o
17 HEADERS = JArray.h jade.h
18 LIBDEST =  $(CDIR)/lib/
19
20 JAVADEST = $(CDIR)/java/charm/jade
21
22 all: c l
23
24 all2: c l p
25
26 default:
27         @echo "Specify target: l(ib) p(arsers) c(clean)"
28
29 clean: cleanlib cleanparsers
30
31 l: lib
32
33 c: clean
34
35 p: parsers
36
37 #================================================================
38 lib: $(LIBDEST)
39
40 $(LIBDEST) : cleanlib $(LIB)
41         $(MV) $(LIB) $(LIBDEST)
42         $(CP) $(HEADERS) $(CDIR)/include
43
44 $(LIB): $(LIBOBJ)
45         $(CHARMC) -o $(LIB) $(LIBOBJ) 
46
47 JArray.o: JArray.h JArray.C
48         $(CHARMC) -c JArray.C
49
50 cleanlib:
51         rm -f *.o $(LIB)
52
53 #================================================================
54
55 parsers: cleanparsers t0 t1 t2
56
57 #Call Antlr to compile a .g file
58 Antlr = java -classpath $(ADDIR) antlr.Tool
59
60 #The Java parser
61 t0:
62         $(Antlr) java.g
63         $(CP) JavaRecognizer.java JavaTokenTypes.java JavaLexer.java $(JAVADEST)
64 #       $(javacA) JavaRecognizer.java JavaTokenTypes.java JavaLexer.java
65
66 #The first pass tree parser
67 t1:
68         $(Antlr) java.tree1.g
69         $(CP) JavaTreeParser1.java JavaTreeParser1TokenTypes.java $(JAVADEST)
70 #       $(javacA) JavaTreeParser1.java JavaTreeParser1TokenTypes.java
71
72 #The second pass tree parser
73 t2:
74         $(Antlr) java.tree.g
75         $(CP) JavaTreeParser.java JavaTreeParserTokenTypes.java $(JAVADEST)
76 #       $(javacA) JavaTreeParser.java JavaTreeParserTokenTypes.java
77
78 cleanparsers:
79         rm -f JavaLexer.java JavaTokenTypes.java JavaTokenTypes.txt JavaRecognizer.java
80         rm -f JavaTreeParser1.java JavaTreeParser1TokenTypes.java JavaTreeParser1TokenTypes.txt
81         rm -f JavaTreeParser.java JavaTreeParserTokenTypes.java JavaTreeParserTokenTypes.txt