-#cp = lib/soot.jar:/Users/megacz/ibex.org/jar/org.ibex.core.jar:/Users/megacz/ibex.org/jar/org.ibex.util.jar:/Users/megacz/ibex.org/jar/org.ibex.js.jar:/Users/megacz/ibex.org/jar/org.ibex.net.jar:/Users/megacz/ibex.org/jar/org.ibex.io.jar:bin
-cp = lib/soot.jar:bin
-sootcp = ${cp}:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Classes/classes.jar
-#mainclass = org.ibex.graphics.Mesh
-mainclass = edu.berkeley.cs.megacz.Test
-
-go:
- rm -rf sootOutput out.jar out
- javac -classpath lib/soot.jar -d bin `find src/ -name \*.java`
- java -cp ${cp} edu.berkeley.cs.megacz.Transformer -app -i edu.berkeley.cs.megacz -outjar -cp ${sootcp} ${mainclass}
- mv sootOutput out.jar
- mkdir -p out; cd out; jar xvf ../out.jar
- cd out; find . -name \*.class -exec jad {} \;
- cat out/Test.jad
+sootjars := jar/sootclasses-2.2.1.jar jar/jasminclasses-2.2.1.jar jar/polyglotclasses-1.3.jar
+java := java -Djava.ext.dirs=jar
+arenaj := ${java} -jar jar/org.ibex.arenaj.jar
+
+jar: ; mkdir -p jar
+jar/sootclasses-2.2.1.jar: jar; cd jar; curl -C - -O http://www.sable.mcgill.ca/software/sootclasses-2.2.1.jar
+jar/jasminclasses-2.2.1.jar: jar; cd jar; curl -C - -O http://www.sable.mcgill.ca/software/jasminclasses-2.2.1.jar
+jar/polyglotclasses-1.3.jar: jar; cd jar; curl -C - -O http://www.sable.mcgill.ca/software/polyglotclasses-1.3.jar
+
+prepare: ${sootjars}
+
+jar/org.ibex.arenaj.jar: ${sootjars} jar/org.ibex.tool.jar
+ ${java} -jar jar/org.ibex.tool.jar -v -w -j jar/org.ibex.arenaj.jar -m org.ibex.arenaj.Main src
+
+demo: jar/org.ibex.arenaj.jar
+ ${arenaj} \
+ -app -i org.ibex.graphics \
+ -d out \
+ org.ibex.arenaj.Test