#
#	Makefile for KA9Q TCP/IP package for PC clones with Microsoft C
#
# switches:
#	define the ones you want in the CFLAGS definition...
#
#	AMIGA		- include Amiga specific code
#	ATARI_ST	- include Atari ST specific code
#	MSDOS		- include Messy-Dos specific code
#	UNIX		- Use UNIX file format conventions
#	CPM		- Use CP/M file format conventions

#
# CFLAGS for typical IBM-PC installation
# BE CAREFUL when changing optimization options.  There are many problems
# with at least the 5.1 release of the Microsoft C compiler!
#
CFLAGS= -DMSC -DTHSEP='.' -AM -Gs -Zp
# Assembler flags
AFLAGS= -DMSC=1 -DLARGECODE=1 -Mx

.c.obj:
	cl -nologo $(CFLAGS) -Ols -c $*.c

.asm.obj:
	masm $(AFLAGS) $*.asm;

NETOBJS1= telnet.obj tnserv.obj smisc.obj rcmd.obj fingserv.obj fingcli.obj ftpserv.obj ftpcli.obj ftp.obj smtpserv.obj smtpcli.obj tcpcmd.obj tcpuser.obj tcptimer.obj

NETOBJS2= tcpout.obj tcpin.obj tcpsubr.obj udpcmd.obj udp.obj udpsubr.obj ipcmd.obj ip.obj iproute.obj ipsubr.obj icmpcmd.obj icmp.obj icmpsubr.obj arpcmd.obj arp.obj arpsubr.obj arptypes.obj

NETOBJS3= ax25cmd.obj ax25user.obj ax25.obj ax25subr.obj ax25serv.obj tnc2.obj ax_mbx.obj lapbtime.obj lapb.obj persist.obj slip.obj kiss.obj nr3.obj nr4.obj nr7.obj nrcmd.obj

NETOBJS4= nrsubr.obj nrs.obj iface.obj timer.obj ttydriv.obj cmdparse.obj mbuf.obj netuser.obj environ.obj misc.obj pathname.obj password.obj icmpmsg.obj buffers.obj

NETDUMP= trace.obj enetdump.obj ax25dump.obj arpdump.obj ipdump.obj icmpdump.obj udpdump.obj tcpdump.obj

PCOBJS= pc.obj dirutil.obj scc.obj eccmd.obj ec.obj ecvec.obj pktdrvr.obj pkvec.obj enet.obj pc_tnc2.obj combios.obj 8250.obj asyvec.obj sccvec.obj tnc2vec.obj comvec.obj pcgen.obj pcint.obj pcirq.obj



8250.obj:	8250.c global.h asy.h 8250.h iface.h

arp.obj:	arp.c global.h mbuf.h timer.h iface.h enet.h ax25.h arp.h

arpcmd.obj:	arpcmd.c global.h mbuf.h timer.h enet.h ax25.h arp.h cmdparse.h

arpdump.obj:	arpdump.c global.h mbuf.h timer.h arp.h ax25.h

arpsubr.obj:	arpsubr.c global.h mbuf.h timer.h iface.h enet.h ax25.h arp.h

arptypes.obj:	arptypes.c global.h

asyvec.obj:	asyvec.asm pmacros.h

at.obj:		at.c global.h timer.h cmdparse.h

ax25.obj:	ax25.c global.h mbuf.h iface.h timer.h arp.h slip.h ax25.h lapb.h
	cl -nologo $(CFLAGS) -Oilt -c $*.c

ax25cmd.obj:	ax25cmd.c global.h mbuf.h ax25.h timer.h iface.h lapb.h cmdparse.h session.h

ax25dump.obj:	ax25dump.c global.h mbuf.h ax25.h timer.h lapb.h ip.h trace.h

ax25serv.obj:	ax25serv.c config.h global.h mbuf.h iface.h timer.h ax25.h lapb.h cmdparse.h session.h slip.h tnc2.h

ax25subr.obj:	ax25subr.c global.h mbuf.h timer.h ax25.h lapb.h

ax25user.obj:	ax25user.c global.h mbuf.h timer.h iface.h ax25.h lapb.h

ax_mbx.obj:	ax_mbx.c global.h mbuf.h ax25.h timer.h iface.h lapb.h ax_mbx.h 

buffers.obj:	buffers.c global.h mbuf.h buffers.h

cmdparse.obj:	cmdparse.c global.h cmdparse.h

combios.obj:	combios.c global.h asy.h combios.h slip.h iface.h

comvec.obj:	comvec.asm pmacros.h

dirutil.obj:	dirutil.c global.h

ec.obj:		ec.c global.h mbuf.h enet.h iface.h ec.h timer.h arp.h trace.h

eccmd.obj:	eccmd.c global.h mbuf.h iface.h ec.h

ecvec.obj:	ecvec.asm pmacros.h

enet.obj:	enet.c global.h mbuf.h iface.h timer.h arp.h enet.h

enetdump.obj:	enetdump.c global.h mbuf.h enet.h trace.h

environ.obj:	environ.c global.h environ.h

files.obj:	files.c global.h

fingcli.obj:	fingcli.c global.h mbuf.h timer.h internet.h icmp.h netuser.h tcp.h finger.h session.h

fingserv.obj:	fingserv.c global.h mbuf.h timer.h internet.h icmp.h netuser.h tcp.h finger.h session.h

ftp.obj:	ftp.c global.h mbuf.h netuser.h timer.h tcp.h ftp.h session.h

ftpcli.obj:	ftpcli.c global.h mbuf.h netuser.h icmp.h timer.h tcp.h ftp.h session.h cmdparse.h

ftpserv.obj:	ftpserv.c global.h mbuf.h netuser.h timer.h tcp.h ftp.h

icmp.obj:	icmp.c global.h mbuf.h internet.h timer.h iface.h ip.h icmp.h

icmpcmd.obj:	icmpcmd.c global.h icmp.h mbuf.h netuser.h internet.h timer.h ping.h

icmpdump.obj:	icmpdump.c global.h mbuf.h internet.h icmp.h trace.h

icmpmsg.obj:	icmpmsg.c global.h

icmpsubr.obj:	icmpsubr.c global.h mbuf.h internet.h icmp.h

iface.obj:	iface.c global.h iface.h

ip.obj:		ip.c global.h mbuf.h timer.h internet.h iface.h ip.h icmp.h
	cl -nologo $(CFLAGS) -Oilt -c $*.c

ipcmd.obj:	ipcmd.c global.h mbuf.h internet.h timer.h netuser.h iface.h ip.h cmdparse.h

ipdump.obj:	ipdump.c global.h mbuf.h internet.h timer.h iface.h ip.h trace.h netuser.h

iproute.obj:	iproute.c global.h mbuf.h internet.h timer.h netuser.h ip.h icmp.h iface.h trace.h
	cl -nologo $(CFLAGS) -Oilt -c $*.c

ipsubr.obj:	ipsubr.c global.h mbuf.h internet.h timer.h netuser.h ip.h

kiss.obj:	kiss.c global.h mbuf.h iface.h kiss.h trace.h

lapb.obj:	lapb.c global.h mbuf.h timer.h ax25.h lapb.h
	cl -nologo $(CFLAGS) -Oilt -c $*.c

lapbtime.obj:	lapbtime.c global.h mbuf.h ax25.h timer.h lapb.h

lcsum.obj:	lcsum.c global.h

main.obj:	main.c config.h global.h mbuf.h buffers.h netuser.h timer.h icmp.h iface.h ip.h tcp.h ax25.h lapb.h ftp.h telnet.h remote.h session.h cmdparse.h kiss.h slip.h tnc2.h asy.h nrs.h trace.h

mbuf.obj:	mbuf.c global.h mbuf.h
	cl -nologo $(CFLAGS) -Oilt -c $*.c

misc.obj:	misc.c global.h

netuser.obj:	netuser.c global.h netuser.h

nr3.obj:	nr3.c global.h mbuf.h iface.h trace.h timer.h arp.h slip.h ax25.h netrom.h lapb.h ip.h

nr4.obj:	nr4.c global.h mbuf.h iface.h timer.h ax25.h netrom.h

nr7.obj:	nr7.c global.h mbuf.h iface.h timer.h ax25.h lapb.h netrom.h cmdparse.h

nrcmd.obj:	nrcmd.c global.h mbuf.h ax25.h netrom.h timer.h iface.h lapb.h cmdparse.h

nrs.obj:	nrs.c global.h mbuf.h iface.h ax25.h nrs.h asy.h combios.h trace.h
	cl -nologo $(CFLAGS) -Oilt -c $*.c

nrsubr.obj:	nrsubr.c global.h mbuf.h timer.h ax25.h netrom.h lapb.h

password.obj:	password.c global.h password.h

pathname.obj:	pathname.c global.h

pc.obj:		pc.c config.h global.h mbuf.h internet.h iface.h cmdparse.h timer.h environ.h

pcgen.obj:	pcgen.asm pmacros.h

pcint.obj:	pcint.asm pmacros.h

pcirq.obj:	pcirq.c global.h

pc_tnc2.obj:	pc_tnc2.c global.h ax25.h timer.h slip.h tnc2.h

persist.obj:	persist.c global.h ax25.h iface.h persist.h timer.h

pktdrvr.obj:	pktdrvr.c global.h mbuf.h enet.h iface.h ec.h timer.h arp.h trace.h regs.h pktdrvr.h

pkvec.obj:	pkvec.asm pmacros.h

rcmd.obj:	rcmd.c global.h mbuf.h netuser.h timer.h tcp.h password.h rcmd.h cmdparse.h

scc.obj:	scc.c global.h mbuf.h buffers.h iface.h slip.h scc.h 8530.h ax25.h trace.h
	cl -nologo $(CFLAGS) -Olt -c $*.c

sccvec.obj:	sccvec.asm pmacros.h

session.obj:	session.c global.h config.h mbuf.h netuser.h timer.h tcp.h ax25.h lapb.h ftp.h telnet.h finger.h session.h cmdparse.h

slip.obj:	slip.c global.h mbuf.h iface.h ax25.h slip.h asy.h combios.h trace.h
	cl -nologo $(CFLAGS) -Oilt -c $*.c

smisc.obj:	smisc.c global.h mbuf.h netuser.h timer.h tcp.h remote.h

smtpcli.obj:	smtpcli.c global.h netuser.h mbuf.h timer.h tcp.h smtp.h trace.h cmdparse.h

smtpserv.obj:	smtpserv.c global.h mbuf.h netuser.h timer.h tcp.h smtp.h

tcpcmd.obj:	tcpcmd.c global.h timer.h mbuf.h netuser.h internet.h tcp.h cmdparse.h

tcpdump.obj:	tcpdump.c global.h mbuf.h netuser.h internet.h timer.h tcp.h trace.h

tcpin.obj:	tcpin.c global.h timer.h mbuf.h netuser.h internet.h tcp.h icmp.h iface.h ip.h

tcpout.obj:	tcpout.c global.h timer.h mbuf.h netuser.h internet.h tcp.h

tcpsubr.obj:	tcpsubr.c global.h timer.h mbuf.h netuser.h internet.h tcp.h

tcptimer.obj:	tcptimer.c global.h mbuf.h timer.h netuser.h internet.h tcp.h

tcpuser.obj:	tcpuser.c global.h timer.h mbuf.h netuser.h internet.h tcp.h

telnet.obj:	telnet.c global.h mbuf.h timer.h icmp.h netuser.h tcp.h telnet.h session.h

timer.obj:	timer.c global.h timer.h

tnc2.obj:	tnc2.c global.h mbuf.h iface.h timer.h ax25.h lapb.h kiss.h slip.h tnc2.h

tnc2vec.obj:	tnc2vec.asm pmacros.h

tnserv.obj:	tnserv.c global.h mbuf.h timer.h icmp.h netuser.h tcp.h telnet.h session.h

trace.obj:	trace.c global.h mbuf.h iface.h trace.h

ttydriv.obj:	ttydriv.c global.h

udp.obj:	udp.c global.h mbuf.h netuser.h udp.h internet.h

udpcmd.obj:	udpcmd.c global.h mbuf.h netuser.h udp.h internet.h cmdparse.h

udpdump.obj:	udpdump.c global.h mbuf.h netuser.h internet.h udp.h

udpsubr.obj:	udpsubr.c global.h mbuf.h netuser.h udp.h

version.obj:	version.c


net.lib: $(NETOBJS1) $(NETOBJS2) $(NETOBJS3) $(NETOBJS4) $(NETDUMP) $(PCOBJS)
	del net.lib
	lib net.lib @net.arf

net.exe: net.lib main.obj version.obj session.obj files.obj
	cl -o net.exe main.obj version.obj session.obj files.obj net.lib -Fmnet /link /E /F /PAC /NOE /ST:4096
