
# If we don't ask for the ".asm"s they'll be deleted.
# (find-node "(make)Chained Rules" "deletes B later on")


all: crim1a-demos


# crim1a demos:

TCLSH ?= tclsh
export TMPDIR=/tmp/crim1a
crim1a-demos:
	-rm -R $(TMPDIR)
	mkdir  $(TMPDIR)
	# cd ~/CRIM1/
	$(TCLSH) crim1a.tcl 0 && sh $(TMPDIR)/crim1.sh
	$(TCLSH) crim1a.tcl 1 && sh $(TMPDIR)/crim1.sh
	$(TCLSH) crim1a.tcl 2 && sh $(TMPDIR)/crim1.sh
	$(TCLSH) crim1a.tcl 3 && sh $(TMPDIR)/crim1.sh




# Old stuff, for tclstuff/tclstuff2:
#
DEMOS		= demo0a demo0b demo1 demo2 demo3a demo3b
DEMOS_ASM	= $(DEMOS:%=%.asm)
DEMOS_CLEAN	= $(DEMOS:%=%.clean)
DEMOS_SEMICLEAN	= $(DEMOS:%=%.semiclean)

default:   $(DEMOS) $(DEMOS_ASM)
clean:	   $(DEMOS_CLEAN)
semiclean: $(DEMOS_SEMICLEAN)

# (find-node "(make)Automatic" "$*")

%.asm %.engine.c: %.tf tclstuff
	cat $*.tf | ./tclstuff $* > $*.asm
%.o %.lst: %.asm
	nasm -f elf -o $*.o -l $*.lst $*.asm
%.clean:
	rm -fv $*.asm $*.o $*.engine.c $*.engine.o $*.lst $* frames.o
%.semiclean:
	rm -fv $*.asm $*.o $*.engine.c $*.engine.o $* frames.o

# Extra dependencies:
demo0a.engine.c: engine0.c
demo0b.engine.c: engine0.c
demo1.engine.c: engine1.c
demo2.engine.c: engine2.c
demo3a.engine.c: engine3a.c
demo3b.engine.c: engine3b.c

# Rules for linking:
demo0a: demo0a.o demo0a.engine.o
demo0b: demo0b.o demo0b.engine.o
demo1: demo1.o demo1.engine.o
demo2: demo2.o demo2.engine.o
demo3a: demo3a.o demo3a.engine.o
demo3b: demo3b.o demo3b.engine.o frames.o





VERSION = 0.02
FILES = README crim1-2000jul07.txt Makefile tclstuff \
	demo0a.tf demo0b.tf engine0.c \
	demo1.tf engine1.c \
	demo2.tf engine2.c

tgz: Crim-$(VERSION).tar.gz

Crim-$(VERSION).tar.gz: $(FILES)
	tar -cvzf $@ $(FILES)
