jar build fixes
[nestedvm.git] / Makefile
index ee8e941..5956163 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -35,9 +35,7 @@ mips_optflags = -O3 -g \
 
 MIPS_CFLAGS = $(mips_optflags) $(flags) -I. -Wall -Wno-unused -Werror
 MIPS_LD = mips-unknown-elf-gcc
-MIPS_LDFLAGS= \
-       $(flags) -L$(build)/org/ibex/nestedvm --static \
-       -T $(mips2java_root)/src/org/ibex/nestedvm/linker.ld -Wl,--gc-sections
+MIPS_LDFLAGS= $(flags) --static -Wl,--gc-sections
 MIPS_STRIP = mips-unknown-elf-strip
 
 # Java compiler/VM settings
@@ -173,23 +171,26 @@ env.sh: Makefile $(tasks)/full_toolchain build/org/ibex/nestedvm/Compiler.class
 # Runtime.jar
 #
 
-runtime_util_classes = SeekableData SeekableByteArray SeekableFile SeekableInputStream
-runtime_classes = Runtime Registers UsermodeConstants  $(runtime_util_classes:%=util/%)
-unixruntime_classes = $(runtime_classes) UnixRuntime
+runtime_classes = Runtime Registers UsermodeConstants util/Seekable
 
 runtime.jar: $(runtime_classes:%=build/org/ibex/nestedvm/%.class)
        cd build && jar cf ../$@ $(runtime_classes:%=org/ibex/nestedvm/%*.class)
 
-unixruntime.jar: $(unixruntime_classes:%=build/org/ibex/nestedvm/%.class)
-       cd build && jar cf ../$@ $(unixruntime_classes:%=org/ibex/nestedvm/%*.class)
+.manifest:
+       echo -ne "Manifest-Version: 1.0\nMain-Class: org.ibex.nestedvm.RuntimeCompiler\n" > $@
+
+nestedvm.jar: $(java_classes) .manifest
+       cd build && jar cfm ../$@ ../.manifest $(java_classes:build/%.class=%*.class)
 
 # This is only for Brian to use... don't mess with it
 rebuild-constants: $(tasks)/build_newlib
        @mkdir -p `dirname $@`
-       cat \
-               src/org/ibex/nestedvm/syscalls.h \
-               $(usr)/mips-unknown-elf/include/sys/{errno.h,unistd.h,syslimits.h} \
-       | ( \
+       ( \
+               cat \
+                       src/org/ibex/nestedvm/syscalls.h \
+                       $(usr)/mips-unknown-elf/include/sys/{errno.h,unistd.h,syslimits.h}; \
+               $(MIPS_CC) -E -dM $(usr)/mips-unknown-elf/include/sys/fcntl.h | awk '$$2 ~ /^[OF]_/ { print; }'; \
+       ) | ( \
                echo "// THIS FILE IS AUTOGENERATED! DO NOT EDIT!"; \
                echo "// run \"make rebuild-constants\" if it needs to be updated"; \
                echo ""; \
@@ -284,12 +285,12 @@ build/tests/DJpeg.mips: $(mips_objects) $(tasks)/build_libjpeg
 # Busybox
 #
 BusyBox_COMPILERFLAGS = -o unixruntime
-build/tests/BusyBox.mips: $(mips_object) $(tasks)/build_busybox
+build/tests/BusyBox.mips: $(mips_objects) $(tasks)/build_busybox
        @mkdir -p `dirname $@`
        cp upstream/build/busybox/busybox $@
        
 busyboxtest: build/tests/BusyBox.class
-       $(JAVA) -cp build tests.BusyBox ash
+       $(JAVA) -cp $(classpath) tests.BusyBox ash
 
 #
 # Boehm GC