-configure_gcc-3.3 := --enable-languages=c,c++,java --enable-gc-type=boehm --disable-shared --disable-jvmpi
-configure_gcc-3.3 += --disable-java-awt --disable-interpreter --enable-static
-configure_gcc-3.3 += --with-gnu-ld --with-gnu-as --enable-libgcj
-configure_gcc-3.3-powerpc-apple := --enable-threads=posix --disable-hash-synchronization
-configure_gcc-3.3-i686-pc-mingw32 := --enable-threads=win32 --enable-hash-synchronization
-configure_gcc-3.3-i686-pc-linux-gnu := --enable-threads=posix --enable-hash-synchronization
-configure_gcc-3.3-sparc-sun-solaris2.7 := --enable-threads=posix --disable-multilib
-configure_gcc-3.3-mips := --enable-languages=c --nfp --with-newlib=yes --enable-multilib --disable-threads
+ifneq ($(shell uname),$(platform))
+configure_gcc-3.3 += --with-headers=$(shell pwd)/upstream/install/$(target)/include
+endif
+configure_gcc-3.3 += --enable-languages=c,c++,java --enable-gc-type=boehm --disable-jvmpi
+configure_gcc-3.3 += --with-ld=$(shell pwd)/upstream/install/bin/$(target)-ld
+configure_gcc-3.3 += --with-as=$(shell pwd)/upstream/install/bin/$(target)-as
+ifneq ($(platform),Darwin)
+configure_gcc-3.3 += --with-gnu-ld --with-gnu-as
+endif
+configure_gcc-3.3 += --disable-java-awt --disable-interpreter --enable-static --enable-libgcj
+configure_gcc-3.3 += --disable-shared --enable-static
+configure_gcc-3.3_powerpc-apple-darwin += --enable-threads=posix --disable-hash-synchronization --disable-multilib
+configure_gcc-3.3_i686-pc-mingw32 += --enable-threads=win32 --enable-hash-synchronization
+configure_gcc-3.3_i686-pc-linux-gnu += --enable-threads=posix --enable-hash-synchronization
+configure_gcc-3.3_sparc-sun-solaris2.7 += --enable-threads=posix --disable-hash-synchronization --disable-multilib
+
+.install_jode-1.1.1_java: .download_java-getopt-1.0.9
+
+configure_jode-1.1.1_java := --with-java=$(JAVA_HOME)/bin/java --with-javac=$(JAVA_HOME)/bin/javac
+ifeq ($(shell uname),Darwin)
+environment_jode-1.1.1_java := CLASSLIB=/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes/classes.jar
+else
+environment_jode-1.1.1_java := CLASSLIB=${JAVA_HOME}/jre/lib/rt.jar
+endif
+environment_jode-1.1.1_java += CLASSPATH=${CLASSPATH}:$(shell pwd)/upstream/java-getopt-1.0.9/
+
+# libjpeg's configury doesn't obey --target
+environment_jpeg-6b_$(target) += PATH=$(shell pwd)/upstream/install/$(target)/bin:$$PATH
+environment_jpeg-6b_$(target) += CC=$(shell pwd)/upstream/install/bin/$(target)-gcc
+environment_jpeg-6b_$(target) += AR="$(shell pwd)/upstream/install/$(target)/bin/ar rc"
+environment_jpeg-6b_$(target) += AR2=$(shell pwd)/upstream/install/$(target)/bin/ranlib