# Makefile for a standalone VAX tftp

LIBDIR = ../../vax/lib
CRTNB =  crtnb.o
CRTNBT = $(LIBDIR)/scb.o crtnbt.o
DDT = $(LIBDIR)/libddt.a
DDTST = $(LIBDIR)/isymt.o
FST = $(LIBDIR)/fst.o

#CFLAGS = -O -DETHER -DDEBUG -Dstandalone -I../sys/include
#CFLAGS = -DETHER -DDEBUG -Dstandalone -DNOINTR -DETHER_DEBUG -I../sys/include
#CFLAGS = -DBROKEN_NIP_SVR -DETHER -Dstandalone -DNOINTR -DINETD -I../sys/include
CFLAGS = -O -I../sys/include -DETHER -Dstandalone -DATHENA_INSTALL -DNOINTR

OBJ = boot.o tftp.o vii.o net.o bootp.o cksum.o res_name.o vax.o

EOBJ =  boot.o tftp.o ether.o e_net.o bootp.o cksum.o res_name.o \
	qna.o vax.o dev.o nip.o se.o name_res.o

LOBJ = str.o ctype_.o slcons.o qvcons.o qfont.o cons.o phex.o \
	gets.o printf.o bops.o udiv.o urem.o qdcons.o smromcons.o

SRCS = boot.c tftp.c vii.c net.c bootp.c res_name.c ether.c e_net.c \
	qna.c dev.c nip.c se.c str.c ctype_.c slcons.c qvcons.c \
	qfont.c cons.c phex.c gets.c printf.c bops.c qdcons.c

all: bootpd

#tftp.o:	tftp.c
#	$(CC) $(CFLAGS) -DACKEARLY -c tftp.c

etftp-ddt: $(EOBJ) crtnbt.o st.o libc.a
	ld -e start $(CRTNBT) $(EOBJ) $(DDT) $(LIBDIR)/libc.a $(DDTST) st.o -o etftp-ddt
	rm -f a.out; ln etftp-ddt a.out

tftp:	$(OBJ) $(CRTNB)
	ld -e start $(CRTNB) $(OBJ) $(LIBDIR)/libc.a -o tftp
	rm -f a.out; ln tftp a.out

etftp:	$(EOBJ) $(CRTNB) libc.a
	rm -f etftp
	ld $(CRTNB) $(EOBJ) ./libc.a -o etftp
	rm -f a.out; ln etftp a.out

etftp-mop: $(EOBJ) crtnbmop.o
	ld -N -T b0000 crtnbmop.o $(EOBJ) ./libc.a -o etftp-mop

bootpd: bootpd.o
	cc -o bootpd bootpd.o
	
hostname: hostname.o $(EOBJ) libc.a $(CRTNB)
	ld $(CRTNB) hostname.o tftp.o ether.o e_net.o bootp.o cksum.o \
		res_name.o qna.o vax.o dev.o nip.o se.o name_res.o \
		./libc.a -o hostname

timing: timing.o $(EOBJ) libc.a $(CRTNB)
	ld $(CRTNB) timing.o tftp.o ether.o e_net.o bootp.o cksum.o \
		res_name.o qna.o vax.o dev.o nip.o se.o name_res.o \
		./libc.a -o timing

hello:	hello.o $(CRTNB) libc.a
	ld -e start $(LIBDIR)/scb.o $(CRTNB) hello.o ./libc.a -o hello

b.out: $(OBJ) crtnb.o
	ld -N -o b.out $(CRTNB) $(OBJ) $(LIBDIR)/libc.a

bootnet: b.out
	strip b.out;dd if=b.out of=bootnet ibs=32 skip=1

tftp-ddt: $(OBJ) crtnbt.o
	ld -e start $(CRTNBT) $(OBJ) $(DDT) ../ddt.vax/libc.a $(DDTST) st.o

st.s: a.out
	nm -gn a.out | ../../vax/bin/mksymt > st.s

libc.a:	$(LOBJ)
	ar cruv libc.a `lorder ${LOBJ} | tsort`
	ranlib libc.a

udiv.o:	udiv.o.save
	cp udiv.o.save udiv.o
urem.o: urem.o.save
	cp urem.o.save urem.o

clean:
	rm -f *.o
	rm -f libc.a a.out b.out bootpd etftp hello st.s hostname timing

depend:
	makedepend -s "# DO NOT DELETE THIS LINE -- make depend uses it" \
		$(CFLAGS) $(SRCS)

# DO NOT DELETE THIS LINE -- make depend uses it

tftp.o: ether.h /usr/include/a.out.h /usr/include/sys/exec.h
vii.o: vii.h
net.o: vii.h
bootp.o: ether.h
ether.o: ether.h ../sys/include/types.h ../sys/src.vax/types-vax.h
ether.o: ../sys/include/sys.h ../sys/src.vax/vax.h
e_net.o: ether.h ../sys/include/types.h ../sys/src.vax/types-vax.h
e_net.o: ../sys/include/sys.h ../sys/src.vax/vax.h
qna.o: ../sys/include/types.h ../sys/src.vax/types-vax.h ../sys/include/sys.h
qna.o: ../sys/src.vax/vax.h ../gw/src/const.h ../gw/src/param.h
qna.o: ../gw/src/defs.h ../gw/src/macs.h ../gw/src/net.h ../gw/src/ext.h
qna.o: ../gw/src/status.h
dev.o: ../sys/include/types.h ../sys/src.vax/types-vax.h ../sys/include/sys.h
dev.o: ../sys/src.vax/vax.h
nip.o: ../sys/include/types.h ../sys/src.vax/types-vax.h ether.h
se.o: ../sys/include/types.h ../sys/src.vax/types-vax.h ../sys/include/sys.h
se.o: ../sys/src.vax/vax.h ../gw/src/const.h ../gw/src/param.h
se.o: ../gw/src/defs.h ../gw/src/macs.h ../gw/src/net.h ../gw/src/ext.h
se.o: ../gw/src/status.h /usr/include/sys/types.h nbregs.h
qvcons.o: /usr/include/sys/types.h qvioctl.h qvreg.h
qdcons.o: /usr/include/sys/types.h qevent.h qduser.h
qdcons.o: /usr/include/vaxuba/qevent.h qdreg.h
