###  printed circuit board cad tools:
###    rat nester, autorouter, viewer, printer, postscript filter,
###    packer (two kinds), unpacker
###
###  Copyright (C) Randy Nevin, 1989, 1990.
###  See source code for rights granted.

.c.obj :
	cl /nologo /Gs /Oat /W3 /Zp /c $*.c

.asm.obj :
	masm /t /ml $*.asm;

###
###  various modules shared by the programs
###

alloc.obj : alloc.c

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

bitmap1.obj : bitmap1.c cell.h bitmap1.h

board.obj : board.c cell.h

dist.obj : dist.c cell.h

graphics.obj : graphics.c

io.obj : io.c cell.h

line.obj : line.c

queue.obj : queue.c cell.h

solve.obj : solve.c cell.h

util.obj : util.asm

work.obj : work.c cell.h

###
###  pcbrat -- rat nester
###

pcbrat.obj : pcbrat.c cell.h

pcbrat.lnk : makefile
	echo pcbrat alloc bitmap1 board graphics io line util work >pcbrat.lnk
	echo pcbrat.exe /noi, pcbrat.map /m; >>pcbrat.lnk

pcbrat.exe : pcbrat.obj alloc.obj bitmap1.obj board.obj graphics.obj io.obj \
		line.obj util.obj work.obj pcbrat.lnk
	link @pcbrat.lnk

###
###  pcbroute -- autorouter
###

pcbroute.obj : pcbroute.c cell.h

pcbroute.lnk : makefile
	echo pcbroute alloc board dist io queue solve work >pcbroute.lnk
	echo pcbroute.exe /noi, pcbroute.map /m; >>pcbroute.lnk

pcbroute.exe : pcbroute.obj alloc.obj board.obj dist.obj io.obj queue.obj \
		solve.obj work.obj pcbroute.lnk
	link @pcbroute.lnk

###
###  pcbview -- board viewer
###

pcbview.obj : pcbview.c cell.h

pcbview.lnk : makefile
	echo pcbview alloc bitmap board graphics util >pcbview.lnk
	echo pcbview.exe /noi, pcbview.map /m; >>pcbview.lnk

pcbview.exe : pcbview.obj alloc.obj bitmap.obj board.obj graphics.obj \
		util.obj pcbview.lnk
	link @pcbview.lnk

###
###  pcbprint -- board printer (laser-printer formatter)
###

pcbprint.obj : pcbprint.c cell.h

pcbprint.lnk : makefile
	echo pcbprint alloc bitmap board >pcbprint.lnk
	echo pcbprint.exe /noi, pcbprint.map /m; >>pcbprint.lnk

pcbprint.exe : pcbprint.obj alloc.obj bitmap.obj board.obj pcbprint.lnk
	link @pcbprint.lnk

###
###  pcbpsplt -- postscript plotting filter, donated by dave schmidt
###

pcbpsplt.obj : pcbpsplt.c

pcbpsplt.lnk : makefile
	echo pcbpsplt, pcbpsplt.exe /noi, pcbpsplt.map /m; >pcbpsplt.lnk

pcbpsplt.exe : pcbpsplt.obj pcbpsplt.lnk
	link @pcbpsplt.lnk

###
###  pcbpak1 -- file packer (first kind)
###

pcbpak1.obj : pcbpak1.c

pcbpak1.lnk : makefile
	echo pcbpak1, pcbpak1.exe /noi, pcbpak1.map /m; >pcbpak1.lnk

pcbpak1.exe : pcbpak1.obj pcbpak1.lnk
	link @pcbpak1.lnk

###
###  pcbpak2 -- file packer (second kind)
###

pcbpak2.obj : pcbpak2.c

pcbpak2.lnk : makefile
	echo pcbpak2, pcbpak2.exe /noi, pcbpak2.map /m; >pcbpak2.lnk

pcbpak2.exe : pcbpak2.obj pcbpak2.lnk
	link @pcbpak2.lnk

###
###  pcbunpak -- file unpacker
###

pcbunpak.obj : pcbunpak.c

pcbunpak.lnk : makefile
	echo pcbunpak, pcbunpak.exe /noi, pcbunpak.map /m; >pcbunpak.lnk

pcbunpak.exe : pcbunpak.obj pcbunpak.lnk
	link @pcbunpak.lnk
