#
#       Makefile for WatTCP TCP/IP kernal
#
# switches:
#	define the ones you want in the CFLAGS definition...
#
#	TRACE		- turn on tracing/debugging code
#       SKIPINI	 - bootp/dhcp only, no WATTCP.CFG (size critical apps)
#       ETH_MSS	 - you might set =576 for serial use (EPPPD), mostly
#			  useful if lacking CFG file (SKIPINI, etc)
#       TW_TO	   - set between 30 and 240 for an RFC-compliant
#			  TIME_WAIT period (defaults to 2, higher can delay
#			  sock_wait_closed() much longer)
#
DEBUGS= -v

# 'obsolete function' warning can be safely ignored.  There should be
#  no other warnings at the default warning level under wcl3.1 and 4.x;
#  let's keep it that way :)

#CFLAGS= $(DEBUGS) -DMSDOS -ID:/borlandc/include -I../include
#CFLAGS= $(DEBUGS) -DMSDOS -IC:/bc4/include -I../include
#CFLAGS= $(DEBUGS) -DMSDOS -DSKIPINI -DETH_MSS=576 -IC:/borlandc/include -I../include
#CFLAGS= $(DEBUGS) -DMSDOS -DETH_MSS=576 -IC:/borlandc/include -I../include
CFLAGS= $(DEBUGS) -DMSDOS -DETH_MSS=576 -I../include
MODELS=-ms
MODELL=-ml
MODELH=-mh

# Assembler flags
AFLAGS=-mx -t -i../elib
AMODELS=-dFUNC_L=0
AMODELL=-dFUNC_L=1

# Define PC-specific include file

# old pre-BC4
#       wcl -c $(MODELS) $(CFLAGS) $*.c > errout

.c.o:
	wcl -c $(MODELS) $(CFLAGS) $*.c
	wlib ../lib/wattcpsm -+$*
	wcl -c $(MODELL) $(CFLAGS) $*.c
	wlib ../lib/wattcplg -+$*
	wcl -c $(MODELH) $(CFLAGS) $*.c
	wlib ../lib/wattcphg -+$*

.asm.o:
	wasm $(AFLAGS) $(AMODELS) $*;
	wlib ../lib/wattcpsm -+$*
	wasm $(AFLAGS) $(AMODELL) $*;
	wlib ../lib/wattcplg -+$*
	wlib ../lib/wattcphg -+$*


os =pcpkt.o pctcp.o pcarp.o pcsed.o pcicmp.o pcping.o asmpkt.o sock_prn.o sock_ini.o pcbsd.o pcrecv.o udp_nds.o udp_dom.o pcconfig.o pc_cbrk.o pcbuf.o pcbootp.o sock_dbu.o pcdbug.o test.o pcintr.o pcstat.o bsdname.o fragment.o netback.o select.o

../lib/wattcpsm.lib: $(os)
	echo done

fragment.o: fragment.c ../include/wattcp.h
select.o: select.c ../include/wattcp.h
pcicmp.o: pcicmp.c ../include/wattcp.h
pcpkt.o: pcpkt.c ../include/wattcp.h
pctcp.o: pctcp.c ../include/wattcp.h
pcarp.o: pcarp.c ../include/wattcp.h
wattcpd.o: wattcpd.c ../include/wattcp.h
pcping.o: pcping.c ../include/wattcp.h
pcsed.o: pcsed.c ../include/wattcp.h ../include/ethdev.h
sock_prn.o: sock_prn.c ../include/wattcp.h
sock_ini.o: sock_ini.c ../include/wattcp.h
udp_nds.o: udp_nds.c ../include/wattcp.h
udp_dom.o: udp_dom.c ../include/wattcp.h
pcconfig.o: pcconfig.c ../include/wattcp.h
pc_cbrk.o: pc_cbrk.c ../include/wattcp.h
sock_dbu.o: sock_dbu.c ../include/wattcp.h
pcbsd.o: pcbsd.c ../include/tcp.h ../include/wattcp.h
pcbuf.o: pcbuf.c ../include/wattcp.h
pcbootp.o: pcbootp.c ../include/wattcp.h ../include/bootp.h
pcrecv.o: pcrecv.c ../include/wattcp.h
asmpkt.o: asmpkt.asm
pcdbug.o: pcdbug.c ../include/wattcp.h
test.o : test.c ../include/wattcp.h
pcintr.o: pcintr.c ../include/wattcp.h ../include/elib.h
pcstat.o: pcstat.c ../include/wattcp.h
netback.o: netback.c ../include/elib.h ../include/tcp.h
bsdname.o: bsdname.c ../include/wattcp.h
