KAFFEVERSION= kaffe-1.0.b3

all:
	@(cd bcsio20 && make)
	@(cd tcplib && make)
ifeq ($(KAFFEVERSION), kaffe-1.0.b3)
	@(test -f gmp-2.0.2/Makefile || (cd gmp-2.0.2 && ./configure --host=msdos && make))
	@(test -f zlib-1.12/Makefile || (cd zlib-1.12 && ./configure && make))
endif
	@(test -f ${KAFFEVERSION}/Makefile || (cd ${KAFFEVERSION} && ./configure))
	@(test -f ${KAFFEVERSION}/.depend || (cd ${KAFFEVERSION}; make depend))
	@(cd ${KAFFEVERSION}; make all)
	@(cd kaffepc; make)

buildjar:
	@(cd ${KAFFEVERSION}/libraries/javalib && ./rebuildLib.KaffePC)
	@(cd ${KAFFEVERSION}/libraries/javalib && ./makeJar.KaffePC)

LIBDIR= ./${KAFFEVERSION}/libraries/javalib
BINDIR= ./${KAFFEVERSION}/kaffe/kaffe
KPDIR= ./kaffepc

KAFFEBIN= ./kpcbin
KAFFEPC= ${KAFFEBIN}/kaffepc

buildbin: all
	rm -rf ${KAFFEBIN}
	mkdir ${KAFFEBIN}
	mkdir ${KAFFEPC}
	mkdir ${KAFFEPC}/lib
	mkdir ${KAFFEPC}/lib/ext
	mkdir ${KAFFEPC}/bin
	mkdir ${KAFFEPC}/sample
	mkdir ${KAFFEPC}/docs
	mkdir ${KAFFEPC}/docs/images
	cp ${LIBDIR}/klasses.jar ${KAFFEPC}/lib/klasses.jar
	test ! -f ${LIBDIR}/kaffepc.jar || cp ${LIBDIR}/kaffepc.jar ${KAFFEPC}/lib/kaffepc.jar
	cp ${BINDIR}/kaffe.exe ${KAFFEPC}/bin/kaffe.exe
	strip ${KAFFEPC}/bin/kaffe.exe
	cp ${KPDIR}/bin/cwsdpmi.exe ${KAFFEPC}/bin
	cp ${KPDIR}/bin/ping.bat ${KAFFEPC}/bin
	cp ${KPDIR}/bin/launcher.bat ${KAFFEPC}/bin
	cp ${KPDIR}/bin/emu387.dxe ${KAFFEPC}/bin
	cp ${KPDIR}/lib/_kptrans.tbl ${KAFFEPC}/lib
	cp ${KPDIR}/lib/jv-comm.pro ${KAFFEPC}/lib
	cp ${KPDIR}/lib/kp-net.pro ${KAFFEPC}/lib
	cp ${KPDIR}/lib/kp-lnchr.pro ${KAFFEPC}/lib
	cp ${KPDIR}/sample/hello.jar ${KAFFEPC}/sample
	cp ./docs/*.htm ./docs/*.h ./docs/*.txt ${KAFFEPC}/docs
	cp ./docs/images/*.gif ${KAFFEPC}/docs/images
	cp license.terms ${KAFFEPC}/LICENSE.TXT
	cp ${KPDIR}/misc/README.binary_archive ${KAFFEPC}/README

allclean:
	@(cd bcsio20 && make clean)
	@(cd tcplib && make clean)
	@(test ! -f gmp-2.0.2/Makefile || (cd gmp-2.0.2 && make distclean))
	@(test ! -f zlib-1.12/Makefile || (cd zlib-1.12 && make distclean))
	@(test ! -f ${KAFFEVERSION}/Makefile || (cd ${KAFFEVERSION} && make distclean))
	@(cd kaffepc; make clean)
	@rm -rf ${KAFFEBIN}
