1## This file is part of ANTLR (http://www.antlr.org).  Have a
2## look into LICENSE.txt for  license  details. This file has
3## been written by (C) Wolfgang Haefelinger, 2004.
4
5## do not change this value
6subdir=examples/java/tinybasic
7
8## get  configured  (standard) variables - checkout or modify
9## scripts/config.vars[.in] for details.
10@stdvars@
11
12### how to get rid of damned dos line ending style and -- al-
13### most equally worse -- stupid tab character.
14### dos2unix  = perl -p -i.tmp -e 's,\r,,g;s,\t, ,g'
15dos2unix = :
16
17## get configured rules
18@stdmake@
19
20## By default we compile class files so we are ready to carry
21## out a test. Note that deps have been setup in such a way
22## that you can do a 'make compile' whithout having made
23## antlr.jar before.
24this : compile
25all  :: compile
26compile : .java
27test :: test1 test2 test3
28
29
30## My *.g files
31g_FILES  = \
32  $(_srcdir)/TinyBasic.g \
33  $(_srcdir)/TinyBasicTreeWalker.g \
34  $(eol)
35
36## Java files generated by *.g
37g_src_FILES = \
38  $(thisdir)/TinyBasicLexer.java \
39  $(thisdir)/TinyBasicLexerTokenTypes.java \
40  $(thisdir)/TinyBasicParser.java \
41  $(thisdir)/TinyBasicTokenTypes.java \
42  $(thisdir)/TinyBasicTreeWalker.java \
43  $(thisdir)/TinyBasicTreeWalkerTokenTypes.java \
44  $(eol)
45
46## Text files generated by *.g
47g_txt_FILES = \
48	$(thisdir)/IDLTokenTypes.txt \
49	$(eol)
50
51## All generated files by *.g
52g_gen_FILES = \
53	$(g_src_FILES) \
54	$(g_txt_FILES) \
55	$(eol)
56
57# All Java files
58j_src_FILES = \
59	$(g_src_FILES) \
60  $(_srcdir)/Context.java \
61  $(_srcdir)/DTArray1D.java \
62  $(_srcdir)/DTArray2D.java \
63  $(_srcdir)/DTArray3D.java \
64  $(_srcdir)/DTCodeType.java \
65  $(_srcdir)/DTDataType.java \
66  $(_srcdir)/DTDataTypeProxy.java \
67  $(_srcdir)/DTExecException.java \
68  $(_srcdir)/DTExitModuleException.java \
69  $(_srcdir)/DTFloat.java \
70  $(_srcdir)/DTFunction.java \
71  $(_srcdir)/DTInteger.java \
72  $(_srcdir)/DTString.java \
73  $(_srcdir)/DTSubroutine.java \
74  $(_srcdir)/FunctionScope.java \
75  $(_srcdir)/GlobalScope.java \
76  $(_srcdir)/Main.java \
77  $(_srcdir)/ProgramScope.java \
78  $(_srcdir)/Scope.java \
79  $(_srcdir)/SubroutineScope.java \
80	$(eol)
81
82## Dependencies of test 1
83test1_deps = \
84	.java \
85	$(buildtree)/scripts/javac.sh \
86	$(eol)
87test2_deps = \
88	.java \
89	$(buildtree)/scripts/javac.sh \
90	$(eol)
91test3_deps = \
92	.java \
93	$(buildtree)/scripts/javac.sh \
94	$(eol)
95
96## Test 1
97test1_cmd = \
98	@ @JAVA_CMD@ tinybasic.Main $(_srcdir)/try.bas \
99	$(eol)
100## Test 2
101test2_cmd = \
102	@ @JAVA_CMD@ tinybasic.Main $(_srcdir)/try1.bas \
103	$(eol)
104## Test 3
105test3_cmd = \
106	@ @JAVA_CMD@ tinybasic.Main $(_srcdir)/try2.bas \
107	$(eol)
108
109## Tests
110test1 : $(test1_deps)
111	@ $(test1_cmd)
112
113test2 : $(test2_deps)
114	@ $(test2_cmd)
115
116test3 : $(test3_deps)
117	@ $(test3_cmd)
118
119
120## How to generated *.java ..
121$(g_src_FILES) : $(g_FILES)
122	@ @RMF@ $(g_src_FILES)
123	@ @ANTLR_COMPILE_CMD@ $(g_FILES)
124	@ $(dos2unix) $(g_src_FILES)
125
126$(g_src_FILES) : @ANTLR_JAR@
127$(g_src_FILES) : $(buildtree)/scripts/antlr.sh
128
129## How to generate class files
130.java : $(j_src_FILES)
131	@-@RMF@ $@
132	@@JAVA_COMPILE_CMD@  $(j_src_FILES) && @ECHO@ > $@
133
134.java : $(buildtree)/scripts/javac.sh
135
136### cleanup astsupport
137clean ::
138	@@ECHO@ cleaning $(subdir) ...
139	@ -@RMF@ .java *.class $(g_gen_FILES) tinybasic
140	@ -@RMF@ *.pyc *.tmp *TokenTypes.txt *TokenTypes
141
142
143
144### get configured dependencies - for example, just list
145### autoconf variable ANTLR_JAR as reference and it will
146### be  done  automatically  as stddeps contains appropr.
147### rule. For details, checkout scripts/config.vars[.in]
148@stddeps@
149
150.PHONY: compile
151.PHONY: test1
152