endif
# HACK: Ensure libc is kept up to date when our mips_objects change
-$(tasks)/build_libc: $(mips_object) upstream/patches/newlib-extraheaders.sh
+$(tasks)/build_libc: $(mips_object) upstream/misc/extraheaders.sh
$(tasks)/%:
$(MAKE) -C upstream tasks/$* usr="$(usr)" MIPS_LDFLAGS="$(MIPS_LDFLAGS)" MIPS_CFLAGS="$(flags) $(mips_optflags)"
#
# MIPS Binary compilation
#
-build/%.o: src/%.c $(tasks)/full_toolchain
+
+# The nestedvm support library is special, it doesn't a full libc
+$(mips_c_objects): build/%.o: src/%.c $(tasks)/build_gcc $(tasks)/build_newlib $(tasks)/build_extraheaders
@mkdir -p `dirname $@`
$(MIPS_CC) $(MIPS_CFLAGS) -c -o $@ $<
@mkdir -p `dirname $@`
$(MIPS_CC) $(MIPS_CFLAGS) $($(notdir $*)_CFLAGS) -c -o $@ $<
-build/%.o: src/%.s $(tasks)/full_toolchain
+build/%.o: src/%.s $(tasks)/build_gcc
@mkdir -p `dirname $@`
$(MIPS_CC) -x assembler-with-cpp -c -o $@ $<
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
+ org/ibex/nestedvm/Runtime\$$*.class \
+ org/ibex/nestedvm/util/Seekable\$$*.class
runtime.jar: $(runtime_classes:%=build/org/ibex/nestedvm/%.class)
cd build && jar cf ../$@ \
tex := java -cp $(usr)/../../build:.. TeX
-#tex := java -cp $(usr)/../../build:.. org.ibex.nestedvm.Interpreter ../tex.mips
doc/ivme04.pdf: doc/ivme04.tex doc/acmconf.cls $(charts:%.dat=%.pdf) tex.jar upstream/tasks/extract_texinputs
cp upstream/build/tex/tex.pool upstream/build/tex/texinputs/tex.pool
cd upstream/build/tex/texinputs; echo '\latex.ltx' | $(tex)