#
# $ProjectVersion: sc-rewrite.4 $
#

COMPILER=	picforth.fs
LIBRARIES=	picisr.fs libfetch.fs libstore.fs picflash.fs piceeprom.fs \
		librshift.fs liblshift.fs multitasker.fs priotasker.fs \
		libnibble.fs libcmove.fs

PROGS=		booster.hex example.hex dcc2.hex generator.hex silver.hex \
		spifcard.hex taskexample.hex controller.hex i2cloader.hex

all:	${PROGS:.hex=.disasm} CHANGES.html docs
docs:
	cd doc && ${MAKE}
.PHONY:	all docs

.SUFFIXES: .fs .hex .asm .disasm .dump

interactive:
	gforth picforth.fs -e 'host picquit'

.fs.hex: ${COMPILER} ${LIBRARIES}
	gforth picforth.fs -e 'include $< file-dump $@ map bye' | \
		sort -o ${<:fs=map}

.fs.disasm: ${COMPILER} ${LIBRARIES}
	${MAKE} ${<:fs=hex}
	gforth picforth.fs -e 'include $< dis bye' > $@

.hex.asm:
	gpdasm $< > $@

.disasm.dump:
	less $<

# $Format: "RELEASEVERSION = $ReleaseVersion$"$
RELEASEVERSION = 0.24

release:
	prcs rekey
	${MAKE} all
	${MAKE} release2

release2:
	mkdir picforth-${RELEASEVERSION}
	install -m 644 `cat MANIFEST` picforth-${RELEASEVERSION}
	tar zcvf picforth-${RELEASEVERSION}.tar.gz picforth-${RELEASEVERSION}
	rm -rf picforth-${RELEASEVERSION}
	chmod a+r picforth-${RELEASEVERSION}.tar.gz

CHANGES.html: CHANGES makedoc.pl
	perl makedoc.pl < CHANGES > CHANGES.html

WWWDIR=/home/sam/Dev/rfc1149/devel

installwww:
	${MAKE} release
	${MAKE} installwww2

installwww2:
	cd ${WWWDIR} && p4 edit picforth.whtml booster.fs booster.disasm \
		CHANGES.picforth.html doc/picforth.html doc/picforth.pdf
	cp booster.fs booster.disasm ${WWWDIR}
	cp CHANGES.html ${WWWDIR}/CHANGES.picforth.html
	cp doc/picforth.html doc/picforth.pdf ${WWWDIR}/doc
	scp -p picforth-${RELEASEVERSION}.tar.gz \
		marvin:/home/rfc1149/download/picforth
	echo "Do not forget to edit ${WWWDIR}/picforth.whtml"

taskexample.hex: multitasker.fs
taskexample.disasm: multitasker.fs

example.hex: librs.fs
example.disasm: librs.fs
