runtime_classes = Runtime Registers UsermodeConstants util/Seekable
+tex.jar: $(runtime_classes:%=build/org/ibex/nestedvm/%.class) upstream/tasks/build_tex
+ echo -e "Manifest-Version: 1.0\nMain-Class: TeX\n" > .manifest
+ cp upstream/build/tex/TeX.class build
+ cd build && jar cfm ../$@ ../.manifest \
+ TeX.class \
+ $(runtime_classes:%=org/ibex/nestedvm/%.class) \
+ org/ibex/nestedvm/*.class \
+ org/ibex/nestedvm/util/*.class
+
runtime.jar: $(runtime_classes:%=build/org/ibex/nestedvm/%.class)
cd build && jar cf ../$@ \
$(runtime_classes:%=org/ibex/nestedvm/%.class) \
org/ibex/nestedvm/Runtime\$$*.class \
org/ibex/nestedvm/util/Seekable\$$*.class
-
+
.manifest:
echo -ne "Manifest-Version: 1.0\nMain-Class: org.ibex.nestedvm.RuntimeCompiler\n" > $@
s/ *# *define \([A-Z_][A-Za-z0-9_]*\) \([0-9][0-9x]*\)/ public static final int \1 = \2;/p'; \
echo "}"; \
) > src/org/ibex/nestedvm/UsermodeConstants.java
-
+
#
# Tests
# These are simply here for convenience. They aren't required
Paranoia_LDFLAGS = -lm
paranoiatest: build/tests/Paranoia.class
$(JAVA) -cp build tests.Paranoia
-
+
#
# Freetype Stuff
#
build/tests/BusyBox.mips: $(mips_objects) $(tasks)/build_busybox
@mkdir -p `dirname $@`
cp upstream/build/busybox/busybox $@
-
+
busyboxtest: build/tests/BusyBox.class
$(JAVA) -cp $(classpath) tests.BusyBox ash
@true
+charts := $(shell find doc/charts -name \*.dat)
+
# IVME Paper
-doc/nestedvm.ivme04.pdf: doc/nestedvm.ivme04.tex doc/acmconf.cls
- cd doc; pdflatex nestedvm.ivme04.tex && ./pst2pdf && pdflatex nestedvm.ivme04.tex
+doc/charts/%.pdf: doc/charts/%.dat doc/charts/%.gnuplot
+ cd doc/charts; gnuplot $*.gnuplot
+ cd doc/charts; chmod +x boxfill.pl; ./boxfill.pl -g -o unfilled.eps $*.eps
+ cd doc/charts; ps2pdf $*.eps
+
+doc/ivme04.pdf: doc/ivme04.tex doc/acmconf.cls $(charts:%.dat=%.pdf)
+ cd doc; pdflatex ivme04.tex && ./pst2pdf && pdflatex ivme04.tex
-pdf: doc/nestedvm.ivme04.pdf
- open doc/nestedvm.ivme04.pdf
+pdf: doc/ivme04.pdf
+ open doc/ivme04.pdf