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