X-Git-Url: http://git.megacz.com/?p=nestedvm.git;a=blobdiff_plain;f=Makefile;h=a26319b75f1e00a5a8990c4426bee720305f43f2;hp=e85ec6dcf6be8f3c199b7ce626bac4136003d143;hb=3142b3bb94901c5826881bf7c79fbaf91709dcf5;hpb=52752783a05dc40fd958839267a2c9bd102f33aa diff --git a/Makefile b/Makefile index e85ec6d..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" @@ -217,16 +214,26 @@ runtime.jar: $(runtime_classes:%=build/org/ibex/nestedvm/%.class) 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 $@`