add test case illustrating indentation-based parsing
[sbp.git] / Makefile
1
2 java = java -Xmx900m
3
4 default: edu.berkeley.sbp.jar
5
6 tibdoc: edu.berkeley.sbp.jar
7         $(java) -cp $< edu.berkeley.sbp.tib.TibDoc \
8                 tests/tibdoc.g \
9                 tests/bitstream.tib
10
11 java15: edu.berkeley.sbp.jar
12         $(java) -cp $< edu.berkeley.sbp.misc.Java15 \
13                 tests/java15.g \
14                 tests/java15.test
15
16 demo: edu.berkeley.sbp.jar
17         $(java) -cp $< edu.berkeley.sbp.misc.Demo \
18                 tests/demo.g \
19                 '(11+2*3)-44'
20
21 demo2: edu.berkeley.sbp.jar
22         $(java) -cp $< edu.berkeley.sbp.misc.Demo2
23
24 ast: edu.berkeley.sbp.jar
25         $(java) -cp $< edu.berkeley.sbp.misc.TestAstGenerator tests/math.g
26
27 regress:
28         make boot
29         rm edu.berkeley.sbp.jar
30         make test
31
32 VERSION = ${shell cat VERSION}
33 releases_dir = /afs/research.cs.berkeley.edu/project/sbp/releases/
34 git_repo = /afs/research.cs.berkeley.edu/project/sbp/edu.berkeley.sbp.git/
35 release: edu.berkeley.sbp.jar
36         echo == making release ${VERSION} ==============================
37         echo
38         git push ${git_repo}
39         git archive --prefix=sbp-${VERSION} HEAD | gzip > \
40           ${releases_dir}/sbp-${VERSION}.tgz
41         cp edu.berkeley.sbp.jar ${releases_dir}/sbp-${VERSION}.jar
42         emacs -nw ~/wix/src/research.cs.berkeley.edu/sbp/index.wix
43         cd ~/proj/wix; make
44
45 #-Dsbp.verbose=true
46 test: edu.berkeley.sbp.jar
47         $(java) -cp $< edu.berkeley.sbp.misc.RegressionTests \
48                 src/edu/berkeley/sbp/meta/meta.g \
49                 tests/testcase.g \
50                 tests/regression.tc
51
52 profile: edu.berkeley.sbp.jar
53         $(java) -agentpath:/Applications/YourKit.app/bin/mac/libyjpagent.jnilib -cp $< edu.berkeley.sbp.misc.RegressionTests \
54                 -profile \
55                 src/edu/berkeley/sbp/meta/meta.g \
56                 tests/testcase.g \
57                 tests/regression.tc
58
59 boot: edu.berkeley.sbp.jar
60         cd src; \
61         $(java) -cp ../$< \
62                 edu.berkeley.sbp.meta.MetaGrammar \
63                 ../src/edu/berkeley/sbp/meta/meta.g \
64                 edu.berkeley.sbp.meta.MetaGrammar
65
66 edu.berkeley.sbp.jar: $(shell find src -name \*.java)
67         mkdir -p bin
68         javac  -cp javax.servlet.jar -d bin -sourcepath src $^
69         echo 'Main-Class: edu.berkeley.sbp.misc.CommandLine' > bin/manifest
70         cd bin; jar cmf manifest ../$@ .
71 #-Xlint:unchecked
72 javadoc:
73         rm -rf doc/api
74         mkdir -p doc/api
75         javadoc \
76                 -linksource \
77                 -windowtitle "SBP: the Scannerless Boolean Parser" \
78                 -sourcepath src \
79                 -header "<b>SBP </b><br>v1.0" \
80                 -public \
81                 -notree \
82                 -noindex \
83                 -nonavbar \
84                 -stylesheetfile doc/javadoc.css \
85                 -noqualifier all \
86                 -d doc/api \
87                 edu.berkeley.sbp
88         javadoc \
89                 -linksource \
90                 -windowtitle "SBP: the Scannerless Boolean Parser" \
91                 -sourcepath src \
92                 -header "<b>SBP </b><br>v1.0" \
93                 -public \
94                 -notree \
95                 -noindex \
96                 -nonavbar \
97                 -noqualifier all \
98                 -d doc/api \
99                 edu.berkeley.sbp.meta \
100                 edu.berkeley.sbp.chr \
101                 edu.berkeley.sbp.misc \
102                 edu.berkeley.sbp.util
103
104 clean:
105         rm -rf doc/api edu.berkeley.sbp.jar bin edu.berkeley.sbp.tar.gz
106         rm -rf Makefile.bak *.hi *.o *.class *.jar Header_*.hs Class_*.hs *_JVM.hs InterfaceMyClass
107