# makefile for jimm's demos

LFLAGS=-lc

PREDIR=VDK:
OBJDIR=RAM:

PRE=dc.pre

PRESRC=sysall.h
DESTINATION=df1:e

AFLAGS=
CFLAGS=+I$(PREDIR)$(PRE)
#CFLAGS=-n

.c.o:
	cc $(CFLAGS) -o $*.o $*.c

.a68.o:
	as $(AFLAGS) -o $*.o $*.a68

all: $(PREDIR)$(PRE) dvdemo oscan dcop buildreq ucop

copy: dvdemo oscan dcop buildreq
	copy dvdemo $(DESTINATION)
	copy oscan $(DESTINATION)
	copy dcop $(DESTINATION)
	copy buildreq $(DESTINATION)
	copy ucop $(DESTINATION)

# double-buffered view demo
DVO=  dvdemo.o dview.o vint.o vhdlr.o ucop.o steali.o spr.o \
 openi.o openg.o getargs.o
dvdemo:  $(DVO)
	ln $(DVO) $(LFLAGS) -o $@
	copy dvdemo $(DESTINATION)

# overscanned screens demo
OSCANO= oscan.o huge.o oscreen.o openi.o openg.o getargs.o
oscan: $(OSCANO)
	ln $(OSCANO) $(LFLAGS) -o $@
	copy oscan $(DESTINATION)

# copper list disassembler
DCOPO= dcop.o getargs.o

dcop.o: dcop.c
	cc -z3000 $(CFLAGS) -o $*.o $*.c

dcop: $(DCOPO)
	ln $(DCOPO) $(LFLAGS) -o $@

# user copper list demo
UCOPO= cpr.o openi.o openg.o getargs.o awindow.o
ucop: $(UCOPO)
	ln $(UCOPO) $(LFLAGS) -o $@

# font sensitive auto-request builder
BRO= buildt.o buildreq.o getargs.o
buildreq: $(BRO)
	ln $(BRO) $(LFLAGS) -o $@
	copy buildreq $(DESTINATION)

# pre-compiled include files
$(PREDIR)$(PRE): $(PRE)
	copy $(PRE) $(PREDIR)

$(PRE): sysall.h
	cc -A -o $(OBJDIR)pre_garbage.asm +H$(PRE) $(PRESRC)
