X-Git-Url: http://git.megacz.com/?p=nestedvm.git;a=blobdiff_plain;f=Makefile;h=a26319b75f1e00a5a8990c4426bee720305f43f2;hp=86b008533db8ed1a970ee6373d82b62f1f83fc56;hb=b4cee44bea4853f5c0f7cb3b331aecb84ef3aa3e;hpb=2eb10cf0499c9bf838a406def44bf8ec4337c8eb diff --git a/Makefile b/Makefile index 86b0085..a26319b 100644 --- a/Makefile +++ b/Makefile @@ -51,8 +51,8 @@ else JAVAC_NODEBUG_FLAGS = -g:none endif -bcel_jar = upstream/build/bcel-5.1/bcel-5.1.jar -classpath = build:$(bcel_jar) +CLASSGEN_PATH = upstream/build/classgen/build +classpath = build:$(CLASSGEN_PATH) GCJ = gcj EXE_EXT = @@ -100,12 +100,9 @@ build/org/ibex/nestedvm/util/.Dummy.class: $(java_classes): build/org/ibex/nestedvm/util/.Dummy.class endif -$(java_classes): $(java_sources) $(bcel_jar) +$(java_classes): $(java_sources) $(tasks)/build_darcs_classgen $(JAVAC) -classpath $(classpath) -d build $(java_sources) -$(bcel_jar): upstream/tasks/extract_bcel - @true - # GCJ Stuff # FIXME: We're cramming more than we need into the binary here build/mips2java$(EXE_EXT): $(java_sources) $(java_gen_sources) @@ -187,7 +184,7 @@ env.sh: Makefile $(tasks)/build_gcc $(tasks)/build_libc build/org/ibex/nestedvm/ @echo 'CFLAGS="$(mips_optflags)"; export CFLAGS' >> $@~ @echo 'CXXFLAGS="$(mips_optflags)"; export CXXFLAGS' >> $@~ @echo 'LDFLAGS="$(MIPS_LDFLAGS)"; export LDFLAGS' >> $@~ - @echo 'CLASSPATH=$(mips2java_root)/build:$(mips2java_root)/$(bcel_jar):.; export CLASSPATH' >> $@~ + @echo 'CLASSPATH=$(mips2java_root)/build:$(mips2java_root)/upstream/build/classgen/build:.; export CLASSPATH' >> $@~ @mv "$@~" "$@" @echo "$@ created successfully" @@ -212,21 +209,31 @@ runtime.jar: $(runtime_classes:%=build/org/ibex/nestedvm/%.class) org/ibex/nestedvm/util/Seekable\$$*.class .manifest: - echo -ne "Manifest-Version: 1.0\nMain-Class: org.ibex.nestedvm.RuntimeCompiler\n" > $@ + printf "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) -compact_runtime_compiler.jar: $(java_classes) .manifest $(tasks)/build_gcclass +compact_runtime_compiler.jar: $(java_classes) .manifest $(tasks)/build_darcs_gcclass mkdir -p tmp/pruned - java -cp upstream/build/gcclass/build:$(bcel_jar) com.brian_web.gcclass.GCClass \ - build tmp/pruned \ + rm -rf tmp/pruned/* + java -cp \ + upstream/build/gcclass/build:upstream/build/gcclass/upstream/bcel-5.1/bcel-5.1.jar \ + com.brian_web.gcclass.GCClass \ + $(classpath) tmp/pruned \ org.ibex.nestedvm.RuntimeCompiler.main 'org.ibex.nestedvm.Runtime.decodeData' \ 'org.ibex.nestedvm.UnixRuntime.' 'org.ibex.nestedvm.Runtime.initPages' \ 'org.ibex.nestedvm.Runtime.clearPages' 'org.ibex.nestedvm.Runtime.syscall' \ 'org.ibex.nestedvm.Runtime$$CPUState.dup' cd tmp/pruned && jar cfm ../../$@ ../../.manifest . +sizecheck: compact_runtime_compiler.jar + @for c in `find tmp/pruned -name '*.class'|fgrep -v '$$'`; do \ + for f in `echo $$c|sed 's,\.class$$,,;'`*.class; do gzip -c $$f; done | wc -c | tr -d '\n'; \ + echo -e "\t`echo $$c | sed 's,tmp/pruned/org/ibex,,;s,\.class$$,,;s,/,.,g;'`"; \ + done | sort -rn | awk '{ sum += $$1; print } END { print sum,"Total"; }' + + # This is only for Brian to use... don't mess with it rebuild-constants: $(tasks)/build_libc @mkdir -p `dirname $@`