source: trunk/yao/share/antlr-2.7.7/examples/java/tinybasic/Makefile @ 1

Last change on this file since 1 was 1, checked in by lnalod, 15 years ago

Initial import of YAO sources

  • Property svn:eol-style set to native
File size: 17.2 KB
Line 
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
11## --*- Makefile -*--
12SUBDIRS         := 
13
14## helper utilities ..
15INSTALL         = /usr/bin/install -c
16MKDIR           = /bin/mkdir
17RM              = /bin/rm -r -f
18RMF             = /bin/rm -r -f
19TAR             = /bin/tar
20TOUCH           = /bin/touch
21CHMOD           = /bin/chmod
22SED             = /bin/sed
23GREP            = /bin/grep
24CAT             = /bin/cat
25CHMOD           = /bin/chmod
26CP              = /bin/cp
27ECHO            = /bin/echo
28
29# usual dribble
30exec_prefix     = ${prefix}
31prefix          = /usr/local
32program_transform_name = s,x,x,
33bindir          = ${exec_prefix}/bin
34sbindir         = ${exec_prefix}/sbin
35libexecdir      = ${exec_prefix}/libexec
36datadir         = ${prefix}/share
37sysconfdir      = ${prefix}/etc
38sharedstatedir  = ${prefix}/com
39localstatedir   = ${prefix}/var
40libdir          = ${exec_prefix}/lib
41includedir      = ${prefix}/include
42oldincludedir   = /usr/include
43infodir         = ${prefix}/info
44mandir          = ${prefix}/man
45build_alias     = 
46host_alias      = 
47target_alias    = 
48build           = x86_64-unknown-linux-gnu
49build_cpu       = x86_64
50build_vendor    = unknown
51build_os        = linux-gnu
52host            = x86_64-unknown-linux-gnu
53host_cpu        = x86_64
54host_vendor     = unknown
55host_os         = linux-gnu
56just_make       = /usr/bin/make
57
58# Version stuff...
59VERSION         = 2
60SUBVERSION      = 7
61PATCHLEVEL      = 7
62PACKAGE_NAME    = antlr
63PACKAGE_VERSION = 2.7.7
64versioneddir    = antlr-2.7.7
65
66# navigation
67builddir        = /usr/neuro/local/yao/yao9/share/antlr-2.7.7
68buildtree       = /usr/neuro/local/yao/yao9/share/antlr-2.7.7
69sourcetree      = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/..
70
71## Two abbrevs to shorten things. $(thisdir) shall be the current
72## working  directory  as  absolute  name  and $(_srcdir) is it's
73## source dir companion. That means that  $(thisdir)/Makefile has
74## been generated by $(_srcdir)/Makefile.in.
75_srcdir         = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../$(subdir)
76thisdir         = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/$(subdir)
77
78# variable 'srcdir' is deprecated - use sourcetree
79srcdir          = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/..
80# variable 'objdir' is deprecated - use buildtree
81objdir          = /usr/neuro/local/yao/yao9/share/antlr-2.7.7
82
83# other
84verbose         = 0
85
86## SUBDIRS you want to exclude (separate them by using "|").
87SUBDIRS_NOT    := .
88
89CLR            = /usr/bin/mono
90
91ANTLR_JAR      = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/antlr/antlr.jar
92ANTLR_LIB      = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/lib/cpp/src/libantlr.a
93ANTLR_NET      = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/lib/antlr.runtime.dll
94ANTLR_PY       = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/lib/python/antlr/python.py
95ASTFRAME_NET   = /usr/neuro/local/yao/yao9/share/antlr-2.7.7/lib/antlr.astframe.dll
96
97antlr_jar      = antlr.jar
98antlr_lib      = libantlr.a
99antlr_net      = antlr.runtime.dll
100antlr_py       = python.py
101astframe_net   = antlr.astframe.dll
102
103### how to get rid of damned dos line ending style and -- al-
104### most equally worse -- stupid tab character.
105### dos2unix  = perl -p -i.tmp -e 's,\r,,g;s,\t, ,g'
106dos2unix = :
107
108## get configured rules
109
110##xxxxxxxxxxxxxxxxxxxxxx --*- Makefile -*-- xxxxxxxxxxxxxxxx>>> config.make
111## By default, make will jump into any sub directory that contains a   file
112## named "Makefile". This is done  in the order implied by "/bin/ls"  which
113## is in almost  all  cases  correct  (note  that  you  should  not  design
114## Makefiles which depend on a specific invocation order). You can override
115## specific  behaviour  by  using  variable SUBDIRS. If given and not empty,
116## "/bin/ls" is not used. Also,  if you want to disable jumping subdirs you
117## may  use  either ".", ".."  as  value for SUBDIRS. Note that SUBDIRS may
118## contain any directory (except "." and "..).
119
120## This is very much  GNU specific, sigh.  Variable SUBDIRS is used to tell
121## make which  subdirectory to jump. It's  value is normally preset or just
122## empty, in which case /bin/ls is used as discussed above. However, I also
123## want that a user can say
124##
125##  make SUBDIRS="d1 d2 .. dn"
126##
127## That means, ignore defaults and go ahead and make exactly this director-
128## ies mentioned. Of course, this should only have  an  impact  on Makefile
129## being used  by  "make"  but not for any makefils in d1 .. dn, right? For
130## example, if di  needs  to  make directories a,b and c, then they need to
131## be made of course. So all burns down to the question how to prevent a
132## variable from being passed to submakes. Below you can see the answer. If
133## you believe that there's a simpler answer to the problem don't hesistate
134## to try it out. If  it  works, send me an email: ora dot et dot labora at
135## web dot de. But be warned - you need to try all variations.
136##
137## Here is in short what  I  found  and how  it  works.  Variables given on
138## command line  are  saved  in  variable  MAKEOVERRIDES. This  variable is
139## exported  and  passed down. On  invocation  of a submake file, make will
140## have a  look  into MAKEOVERRIDES  and unpack each variable found therein.
141## Therefore I'm just going to  remove  every (?) occurance of SUBDIRS from
142## this variable.
143MAKEOVERRIDES := $(patsubst SUBDIRS=%,,$(MAKEOVERRIDES))
144
145
146## The actuall rule on how to make a recursive target.
147all clean distclean test install force-target clean-target :: 
148        @dirs="$(SUBDIRS)" ; \
149        test -z "$${dirs}" && { \
150                dirs=`/bin/ls` ; \
151  } ; \
152        for d in . $${dirs} ; do \
153                case $${d} in \
154                . | .. ) ;; \
155          $(SUBDIRS_NOT) ) ;; \
156                *) \
157                if test -f "$${d}/Makefile" ; then \
158                  echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" ; \
159                  echo ">> /usr/bin/make -C $(subdir)/$${d} $@                          " ; \
160                        echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" ; \
161                        /usr/bin/make -C "$$d" $@ || exit 1 ;\
162                fi ; \
163                ;; \
164                esac ; \
165        done
166
167## For historical  reasons only you can make local targets as "this-*" or
168## "*-this" rules. The  default is to do nothing. Although this targets
169## exists, it is recommended to define further "all", "clean" etc. double
170## colon rules.
171 
172all       :: this-all all-this
173clean     :: this-clean clean-this
174distclean :: this-distclean distclean-this
175test      :: this-test test-this
176install   :: this-install install-this
177
178this-all ::
179this-clean ::
180this-distclean ::
181this-test ::
182this-install ::
183
184all-this ::
185clean-this ::
186distclean-this ::
187test-this ::
188install-this ::
189
190force-target :: clean-target all
191
192distclean :: clean
193
194distclean ::
195        $(RM) Makefile
196
197## xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<< config.make
198
199## By default we compile class files so we are ready to carry
200## out a test. Note that deps have been setup in such a way
201## that you can do a 'make compile' whithout having made
202## antlr.jar before.
203this : compile
204all  :: compile
205compile : .java
206test :: test1 test2 test3
207
208
209## My *.g files
210g_FILES  = \
211  $(_srcdir)/TinyBasic.g \
212  $(_srcdir)/TinyBasicTreeWalker.g \
213  $(eol)
214
215## Java files generated by *.g
216g_src_FILES = \
217  $(thisdir)/TinyBasicLexer.java \
218  $(thisdir)/TinyBasicLexerTokenTypes.java \
219  $(thisdir)/TinyBasicParser.java \
220  $(thisdir)/TinyBasicTokenTypes.java \
221  $(thisdir)/TinyBasicTreeWalker.java \
222  $(thisdir)/TinyBasicTreeWalkerTokenTypes.java \
223  $(eol)
224
225## Text files generated by *.g
226g_txt_FILES = \
227        $(thisdir)/IDLTokenTypes.txt \
228        $(eol)
229
230## All generated files by *.g
231g_gen_FILES = \
232        $(g_src_FILES) \
233        $(g_txt_FILES) \
234        $(eol)
235
236# All Java files
237j_src_FILES = \
238        $(g_src_FILES) \
239  $(_srcdir)/Context.java \
240  $(_srcdir)/DTArray1D.java \
241  $(_srcdir)/DTArray2D.java \
242  $(_srcdir)/DTArray3D.java \
243  $(_srcdir)/DTCodeType.java \
244  $(_srcdir)/DTDataType.java \
245  $(_srcdir)/DTDataTypeProxy.java \
246  $(_srcdir)/DTExecException.java \
247  $(_srcdir)/DTExitModuleException.java \
248  $(_srcdir)/DTFloat.java \
249  $(_srcdir)/DTFunction.java \
250  $(_srcdir)/DTInteger.java \
251  $(_srcdir)/DTString.java \
252  $(_srcdir)/DTSubroutine.java \
253  $(_srcdir)/FunctionScope.java \
254  $(_srcdir)/GlobalScope.java \
255  $(_srcdir)/Main.java \
256  $(_srcdir)/ProgramScope.java \
257  $(_srcdir)/Scope.java \
258  $(_srcdir)/SubroutineScope.java \
259        $(eol)
260
261## Dependencies of test 1
262test1_deps = \
263        .java \
264        $(buildtree)/scripts/javac.sh \
265        $(eol)
266test2_deps = \
267        .java \
268        $(buildtree)/scripts/javac.sh \
269        $(eol)
270test3_deps = \
271        .java \
272        $(buildtree)/scripts/javac.sh \
273        $(eol)
274
275## Test 1
276test1_cmd = \
277        @ /bin/sh /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/java.sh tinybasic.Main $(_srcdir)/try.bas \
278        $(eol)
279## Test 2
280test2_cmd = \
281        @ /bin/sh /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/java.sh tinybasic.Main $(_srcdir)/try1.bas \
282        $(eol)
283## Test 3
284test3_cmd = \
285        @ /bin/sh /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/java.sh tinybasic.Main $(_srcdir)/try2.bas \
286        $(eol)
287
288## Tests
289test1 : $(test1_deps)
290        @ $(test1_cmd)
291
292test2 : $(test2_deps)
293        @ $(test2_cmd)
294
295test3 : $(test3_deps)
296        @ $(test3_cmd)
297
298
299## How to generated *.java ..
300$(g_src_FILES) : $(g_FILES)
301        @ /bin/rm -r -f $(g_src_FILES)
302        @ /bin/sh /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/antlr.sh $(g_FILES)
303        @ $(dos2unix) $(g_src_FILES)
304
305$(g_src_FILES) : /usr/neuro/local/yao/yao9/share/antlr-2.7.7/antlr/antlr.jar
306$(g_src_FILES) : $(buildtree)/scripts/antlr.sh
307
308## How to generate class files
309.java : $(j_src_FILES)
310        @-/bin/rm -r -f $@
311        @/bin/sh /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/javac.sh  $(j_src_FILES) && /bin/echo > $@
312
313.java : $(buildtree)/scripts/javac.sh
314
315### cleanup astsupport
316clean ::
317        @/bin/echo cleaning $(subdir) ...
318        @ -/bin/rm -r -f .java *.class $(g_gen_FILES) tinybasic
319        @ -/bin/rm -r -f *.pyc *.tmp *TokenTypes.txt *TokenTypes
320
321
322
323### get configured dependencies - for example, just list
324### autoconf variable ANTLR_JAR as reference and it will
325### be  done  automatically  as stddeps contains appropr.
326### rule. For details, checkout scripts/config.vars[.in]
327
328## --*- Makefile -*--
329## Make listed targets even in case a file with same name exists.
330.PHONY: \
331 this \
332 all clean install test distclean \
333 this-all this-clean this-install this-test this-distclean \
334 all-this clean-this install-this test-this distclean-this \
335 $(eof)
336
337## delete suffix rules - shortens output when using -d and is not
338## used anyway (and should not be used).
339.SUFFIXES:
340
341Makefile :: /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../$(subdir)/Makefile.in  \
342            /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/config.deps \
343                                          /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/config.make \
344                                          /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/config.vars \
345            /usr/neuro/local/yao/yao9/share/antlr-2.7.7/config.status
346        @echo "*** update $(subdir)/Makefile"
347        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES="$(subdir)/Makefile" /bin/sh ./config.status -q
348
349/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/config.deps : \
350        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/config.deps.in
351        @echo "*** update $@"
352        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/config.deps /bin/sh ./config.status -q
353
354/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/config.make : \
355        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/config.make.in
356        @echo "*** update $@"
357        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/config.make /bin/sh ./config.status -q
358
359/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/config.vars : \
360        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/config.vars.in
361        @echo "*** update $@"
362        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/config.vars /bin/sh ./config.status -q
363
364/usr/neuro/local/yao/yao9/share/antlr-2.7.7/config.status : \
365        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../configure
366        @echo "*** reconfigure $@ - stay tuned .."
367        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && /bin/sh ./config.status -q --recheck
368        @echo "*** update all configured files .."
369        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && /bin/sh ./config.status -q
370
371### In a pure devel mode there should be also a dependency listed on how
372### to make configure out of  configure.in.  This  requires that usr has
373### m4  and  autoconf (proper version) installed. Appropriate checks are
374### not done in configure. If so, then uncomment next lines:
375###
376###   @rule_configure_configure_in@
377###
378
379/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/antlr.sh : \
380        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/antlr.sh.in
381        @echo "*** update $@"
382        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/antlr.sh /bin/sh ./config.status -q
383
384/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/cpp.sh : \
385        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/cpp.sh.in
386        @echo "*** update $@"
387        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/cpp.sh /bin/sh ./config.status -q
388
389/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/csc.sh : \
390        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/csc.sh.in
391        @echo "*** update $@"
392        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/csc.sh /bin/sh ./config.status -q
393
394/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/cxx.sh : \
395        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/cxx.sh.in
396        @echo "*** update $@"
397        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/cxx.sh /bin/sh ./config.status -q
398
399/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/jar.sh : \
400        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/jar.sh.in
401        @echo "*** update $@"
402        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/jar.sh /bin/sh ./config.status -q
403
404/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/javac.sh : \
405        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/javac.sh.in
406        @echo "*** update $@"
407        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/javac.sh /bin/sh ./config.status -q
408
409/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/java.sh : \
410        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/java.sh.in
411        @echo "*** update $@"
412        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/java.sh /bin/sh ./config.status -q
413
414/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/lib.sh : \
415        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/lib.sh.in
416        @echo "*** update $@"
417        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/lib.sh /bin/sh ./config.status -q
418
419/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/link.sh : \
420        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/link.sh.in
421        @echo "*** update $@"
422        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/link.sh /bin/sh ./config.status -q
423
424/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/pyinst.sh : \
425        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/pyinst.sh.in
426        @echo "*** update $@"
427        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/pyinst.sh /bin/sh ./config.status -q
428
429/usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/python.sh : \
430        /usr/neuro/local/yao/yao9/share/antlr-2.7.7/scripts/../scripts/python.sh.in
431        @echo "*** update $@"
432        @cd /usr/neuro/local/yao/yao9/share/antlr-2.7.7 && CONFIG_FILES=scripts/python.sh /bin/sh ./config.status -q
433
434
435## This rule shall ensure that ANTLR_NET is up-to-date. The rule is a
436## double colon rule, ie. further  rules  with the same target may be
437## added. For unknown reasons, double colon rules are always phony,ie.
438## getting executed even in case target exists. We break the infinite
439## loop,  we only  jump  into  subdir  "lib/csharp/src" if we are not
440## already in. It is very important that  each Makefile[.in] sets the
441## variable $(subdir) proper.
442
443/usr/neuro/local/yao/yao9/share/antlr-2.7.7/lib/antlr.runtime.dll ::
444        @ subdir="lib/csharp/antlr.runtime" ; \
445    case $(subdir) in \
446          $$subdir ) ;; \
447          * ) d="/usr/neuro/local/yao/yao9/share/antlr-2.7.7/$$subdir" ; \
448        test -f "$$d/Makefile" && {  \
449         /usr/bin/make -C "$$d" $@ ; \
450        }       \
451        ;; \
452    esac
453
454/usr/neuro/local/yao/yao9/share/antlr-2.7.7/lib/antlr.astframe.dll ::
455        @ subdir="lib/csharp/antlr.astframe" ; \
456    case $(subdir) in \
457          $$subdir ) ;; \
458          * ) d="/usr/neuro/local/yao/yao9/share/antlr-2.7.7/$$subdir" ; \
459        test -f "$$d/Makefile" && {  \
460         /usr/bin/make -C "$$d" $@ ; \
461        }       \
462        ;; \
463    esac
464
465
466/usr/neuro/local/yao/yao9/share/antlr-2.7.7/antlr/antlr.jar ::
467        @ subdir="antlr" ; \
468    case $(subdir) in \
469          $$subdir ) ;; \
470          * ) d="/usr/neuro/local/yao/yao9/share/antlr-2.7.7/$$subdir" ; \
471        test -f "$$d/Makefile" && {  \
472         /usr/bin/make -C "$$d" $@ ; \
473        }       \
474        ;; \
475    esac
476
477
478/usr/neuro/local/yao/yao9/share/antlr-2.7.7/lib/cpp/src/libantlr.a ::
479        @ subdir="lib/cpp/src" ; \
480    case $(subdir) in \
481          $$subdir ) ;; \
482          * ) d="/usr/neuro/local/yao/yao9/share/antlr-2.7.7/$$subdir" ; \
483        test -f "$$d/Makefile" && {  \
484         /usr/bin/make -C "$$d" $@ ; \
485        }       \
486        ;; \
487    esac
488
489
490.PHONY: compile
491.PHONY: test1
Note: See TracBrowser for help on using the repository browser.