2f10cae952df16d1b45c4a1d4e9b3cca99ce51b0
[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 -or -name \*.scala)
67         rm -rf bin
68         mkdir -p bin
69         javac  -cp javax.servlet.jar -d bin -sourcepath src `find src -name \*.java`
70         scalac -d bin -sourcepath src `find src -name \*.scala`
71         echo 'Main-Class: edu.berkeley.sbp.misc.CommandLine' > bin/manifest
72         cd bin; jar cmf manifest ../$@ .
73 #-Xlint:unchecked
74
75 javadoc:
76         rm -rf doc/api
77         mkdir -p doc/api
78         javadoc \
79                 -linksource \
80                 -windowtitle "SBP: the Scannerless Boolean Parser" \
81                 -sourcepath src \
82                 -header "<b>SBP </b><br>v1.0" \
83                 -public \
84                 -notree \
85                 -noindex \
86                 -nonavbar \
87                 -stylesheetfile doc/javadoc.css \
88                 -noqualifier all \
89                 -d doc/api \
90                 edu.berkeley.sbp
91         javadoc \
92                 -linksource \
93                 -windowtitle "SBP: the Scannerless Boolean Parser" \
94                 -sourcepath src \
95                 -header "<b>SBP </b><br>v1.0" \
96                 -public \
97                 -notree \
98                 -noindex \
99                 -nonavbar \
100                 -noqualifier all \
101                 -d doc/api \
102                 edu.berkeley.sbp.meta \
103                 edu.berkeley.sbp.chr \
104                 edu.berkeley.sbp.misc \
105                 edu.berkeley.sbp.util
106
107 clean:
108         rm -rf doc/api edu.berkeley.sbp.jar bin edu.berkeley.sbp.tar.gz
109         rm -rf Makefile.bak *.hi *.o *.class *.jar Header_*.hs Class_*.hs *_JVM.hs InterfaceMyClass
110