# printed circuit board autorouter, viewer, and printer
#
# Makefile.xen for Xenix 286 by Harold Hankins
#

#
# .c.obj:
# 	cl /G2s /Oat /W3 /Zp /c $*.c
# 
# .asm.obj:
# 	masm /t /ml $*.asm;
# 
CFLAGS= -n
LIBS=	-lm -lc
LFLAGS = -g

ROBJS=	pcbroute.o io.o solve.o board.o queue.o work.o dist.o alloc.o
VOBJS=	pcbview.o bitmap.o board.o alloc.o util.o
VBOBJS=	pcbltv.o bitblt.o board.o alloc.o util.o
POBJS=	pcbprint.o bitmap.o board.o alloc.o


allprg:	pcbroute pcbprint pcbview

pcbroute: $(ROBJS)
	ln $(LFLAGS) -o pcbroute $(ROBJS) $(LIBS)

pcbview: $(VOBJS)
	ln $(LFLAGS)  -o pcbview $(VOBJS) $(LIBS)

pcbltv: $(VBOBJS)
	ln $(LFLAGS) +Cd -o pcbltv $(VBOBJS) $(LIBS)

pcbprint: $(POBJS)
	ln $(LFLAGS) -o pcbprint $(POBJS) $(LIBS)

printr:
	@prl pcbroute.c io.c solve.c board.c queue.c work.c dist.c alloc.c cell.h

testr:
	cd ../inc ; pcbroute example hwh.out ; sum hwh.*

testp:
	cd ../inc ; pcbprint hwh.out 

pcbroute.o: pcbroute.c cell.h

io.o: io.c cell.h

solve.o: solve.c cell.h

board.o: board.c cell.h

queue.o: queue.c cell.h

work.o: work.c cell.h

dist.o: dist.c cell.h

alloc.o: alloc.c

pcbview.o: pcbview.c pcbview.h cell.h
	cc $(CFLAGS) +IAztec:include.pre pcbview.c

pcbltv.o: pcbltv.c pcbview.h cell.h
	cc $(CFLAGS) +IAztec:include.pre pcbltv.c

bitmap.o: bitmap.c cell.h bitmap1.h bitmap2.h bitmap3.h

bitblt.o: bitblt.c cell.h bitblt1.h bitblt2.h bitblt3.h
	cc $(CFLAGS) +IAztec:include.pre bitblt.c

util.o: util.c
	cc $(CFLAGS) +IAztec:include.pre util.c

pcbprint.o: pcbprint.c cell.h

clean:
	@rm -f $(ROBJS) $(VOBJS) $(POBJS)
