all: lisp15.out

# We need to complete the lines to 80 characters,
# for asm7090 doesn't detect space opcode as PZE.
lisp15.src:lisp15.asm  head.card Makefile
	cat head.card lisp15.asm \
	| sed \
		-e '{:loop' \
		-e 's/$$/              /' \
		-e 't next' \
		-e ':next' \
		-e 's/^\(.\{80\}\).*/\1/' \
		-e 't' \
		-e 'b loop}' \
	| sed \
		-e 's/PCC   /PCC ON/' \
		-e '/PAGE 121/s/SPACE   5/SPACE   4/' \
		-e '/PAGE 122/s/^       SPACE/*      SPACE/' \
		-e 's/^\([^ ]\+\) \+\<HED\>/       HEAD \1/' \
		-e 's/^\(.\{80\}\).*/\1/' \
	> lisp15.src

#
#		-e 's/^       TITLE/***    TITLE/' \
#		-e '/\* Local Variables:/a\* eval: (progn (widen)(put-computer-paper-overlay 2 2))' \
#

lisp15.out lisp15.lis:lisp15.src
	/usr/local/src/emulators/7090/asm7090/asm7090 \
		-c 7090 \
		-a -f -p -w -x \
		-d LISP15 \
		-t 'BONNIE-S BIRTHDAY ASSEMBLY' \
		-l lisp15.lst \
		-o lisp15.out \
		lisp15.src || (	ls -l lisp15.*[a-z] ; exit 1)

clean:
	-rm -f lisp15.out lisp15.lis lisp15.src

INSTALL_DIR=/larissa/root/local/html/informatimago/develop/lisp

archive:
	VERSION=$$(cat VERSION) ;\
	rm -rf lisp15-$$VERSION  ;\
	mkdir  lisp15-$$VERSION   ;\
	cp  README    \
		Makefile   \
		head.card   \
		lisp15.asm   \
		lisp15.lst    \
		lisp15.lisp    \
		asm7090.patch   \
		/usr/local/users/pjb/src/public/emacs/pjb-page.el   \
		/usr/local/users/pjb/src/public/emacs/pjb-asm7090.el \
			lisp15-$$VERSION                       ;\
	chmod a+r lisp15-$$VERSION/*                    ;\
	tar zcf lisp15-$$VERSION.tar.gz lisp15-$$VERSION ;\
	install -m 644 lisp15-$$VERSION.tar.gz $(INSTALL_DIR)
