all:
	@(cd bcsio20 && make)
	@(cd tcplib && make)
	@(test -f kaffe-1.0.b2/Makefile || (cd kaffe-1.0.b2 && ./configure))
	@(test -f kaffe-1.0.b2/.depend || (cd kaffe-1.0.b2; make depend))
	@(cd kaffe-1.0.b2; make all)
	@(cd kaffepc; make)

buildjar:
	@(cd kaffe-1.0.b2/libraries/javalib && ./rebuildLib.KaffePC)
	@(cd kaffe-1.0.b2/libraries/javalib && ./makeJar.KaffePC)

LIBDIR= ./kaffe-1.0.b2/libraries/javalib
BINDIR= ./kaffe-1.0.b2/kaffe/kaffe
KPDIR= ./kaffepc

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

buildbin: all
	rm -rf ${KAFFEBIN}
	mkdir ${KAFFEBIN}
	mkdir ${KAFFEPC}
	mkdir ${KAFFEPC}/lib
	mkdir ${KAFFEPC}/bin
	mkdir ${KAFFEPC}/sample
	cp ${LIBDIR}/klasses.jar ${KAFFEPC}/lib/klasses.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}/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 -R ./docs ${KAFFEPC}
	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 kaffe-1.0.b2/Makefile || (cd kaffe-1.0.b2 && make distclean))
	@(cd kaffepc; make clean)
	@rm -rf ${KAFFEBIN}
