IDENT=-DTFTP -DSUNV1PCREVD -DNOSCREEN -DENETBOOT -DTFTPBOOT
#
# Makefile for Sun ROM Monitor, August 1981
#	Jeffrey Mogul @ Stanford
#
# This makefile is constructed from a machine description:
#	config machine
# Most changes should be made in the machine description
#	/usr/sun/src/monitor/conf2/``machineid''
# after which you should do
#	 config machineid
# Generic makefile changes should be made in
#	/usr/sun/src/monitor/conf2/makefile
# after which config should be rerun for all machines.
#
CC=cc68
AS=as68
LD=ld68

INCLUDES= -I/usr/sun/include/pup/

# define LFLAG as -L to get assembly listings
LFLAG=

COPTS= ${IDENT}
CFLAGS= -O ${COPTS} -DMC68000 $(LFLAG) $(INCLUDES)

RELOC= 1000

OBJS=crtsun.b test.b prom2.b boot.b writechar.b message.b printhex.b \
	busyio.b probe.b setup.b bfread.b enbootload.b getbootfile.b \
	mefrecpckt.b mlkup.b mpuprt.b msetfilt.b pupopn.b puprd.b \
	pupwrt.b boott.b subs.b asm.b getline.b uether.b if_ec.b if_il.b 

CFILES=../tftp/test.c ../prom2/prom2.c ../prom2/boot.c \
	../prom2/writechar.c ../subrs/message.c ../subrs/printhex.c \
	../subrs/busyio.c ../subrs/probe.c ../prom2/setup.c \
	../eftp/bfread.c ../eftp/enbootload.c ../eftp/getbootfile.c \
	../eftp/mefrecpckt.c ../eftp/mlkup.c ../eftp/mpuprt.c \
	../eftp/msetfilt.c ../eftp/pupopn.c ../eftp/puprd.c \
	../eftp/pupwrt.c ../tftp/boott.c ../tftp/subs.c \
	../subrs/getline.c ../eftp/uether.c ../tftp/if_ec.c \
	../tftp/if_il.c 

tftp: makefile ${OBJS} 
	echo loading tftp
	rm -f tftp
	@$(LD) -X -o tftp -T $(RELOC) ${OBJS} -lpup -lddt -lc -x
	size tftp
	$(CC) -d -o tftp.dl tftp
all: tftp

tftp.sym: makefile ${OBJS} 
	echo loading tftp.tmp
	rm -f tftp
	@$(LD) -o tftp.tmp -T $(RELOC) ${OBJS} -lpup -lddt -lc -x
	nm68 -g -x -n tftp.tmp >tftp.sym
symbols: tftp.sym

clean:
	rm -f *.dl *.b *.s.list touch errs linterrs *.ls

lint: /tmp
	@lint -hbxn -I. - ${COPTS} ${INCLUDES} -I/usr/sun/include/ ${CFILES} | \
	    grep -v 'struct/union .* never defined' | \
	    grep -v 'possible pointer alignment problem'
touch: ../conf/touch.c
	cc ../conf/touch.c -o touch

depend:
	echo 'making dependencies ...'
	@grep '^#include' ${CFILES} | grep -v '<' | \
	      sed 's/:[^"]*"\([^"]*\)".*/: \1/' | \
	      sed 's/\.c/.b/' | sed 's,../[0-9a-z]*/,,' | \
	awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
		       else rec = rec " " $$2 } } \
	      END { print rec } ' > makedep
	echo '$$r makedep' >>eddep
	echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
	echo '$$r makedep' >>eddep
	echo 'w' >>eddep
	@cp makefile makefile.bak
	@ed - makefile < eddep
	rm eddep makedep
	echo '... done'

tags:
	/usr/ucb/ctags ${CFILES}

print:
	yapp $(CFILES)
# already done in ../conf/makefile:	yapp ../h/*.h

crtsun.b: ../tftp/crtsun.s
	${AS} -o crtsun.b ../tftp/crtsun.s

test.b: ../tftp/test.c
	${CC} -I. -c ${CFLAGS} ../tftp/test.c
prom2.b: ../prom2/prom2.c
	${CC} -I. -c ${CFLAGS} ../prom2/prom2.c
boot.b: ../prom2/boot.c
	${CC} -I. -c ${CFLAGS} ../prom2/boot.c
writechar.b: ../prom2/writechar.c
	${CC} -I. -c ${CFLAGS} ../prom2/writechar.c
message.b: ../subrs/message.c
	${CC} -I. -c ${CFLAGS} ../subrs/message.c
printhex.b: ../subrs/printhex.c
	${CC} -I. -c ${CFLAGS} ../subrs/printhex.c
busyio.b: ../subrs/busyio.c
	${CC} -I. -c ${CFLAGS} ../subrs/busyio.c
probe.b: ../subrs/probe.c
	${CC} -I. -c ${CFLAGS} ../subrs/probe.c
setup.b: ../prom2/setup.c
	${CC} -I. -c ${CFLAGS} ../prom2/setup.c
bfread.b: ../eftp/bfread.c
	${CC} -I. -c ${CFLAGS} ../eftp/bfread.c
enbootload.b: ../eftp/enbootload.c
	${CC} -I. -c ${CFLAGS} ../eftp/enbootload.c
getbootfile.b: ../eftp/getbootfile.c
	${CC} -I. -c ${CFLAGS} ../eftp/getbootfile.c
mefrecpckt.b: ../eftp/mefrecpckt.c
	${CC} -I. -c ${CFLAGS} ../eftp/mefrecpckt.c
mlkup.b: ../eftp/mlkup.c
	${CC} -I. -c ${CFLAGS} ../eftp/mlkup.c
mpuprt.b: ../eftp/mpuprt.c
	${CC} -I. -c ${CFLAGS} ../eftp/mpuprt.c
msetfilt.b: ../eftp/msetfilt.c
	${CC} -I. -c ${CFLAGS} ../eftp/msetfilt.c
pupopn.b: ../eftp/pupopn.c
	${CC} -I. -c ${CFLAGS} ../eftp/pupopn.c
puprd.b: ../eftp/puprd.c
	${CC} -I. -c ${CFLAGS} ../eftp/puprd.c
pupwrt.b: ../eftp/pupwrt.c
	${CC} -I. -c ${CFLAGS} ../eftp/pupwrt.c
boott.b: ../tftp/boott.c
	${CC} -I. -c ${CFLAGS} ../tftp/boott.c
subs.b: ../tftp/subs.c
	${CC} -I. -c ${CFLAGS} ../tftp/subs.c
asm.b: ../tftp/asm.s
	${AS} -o asm.b ../tftp/asm.s

getline.b: ../subrs/getline.c
	${CC} -I. -c ${CFLAGS} ../subrs/getline.c
uether.b: ../eftp/uether.c
	${CC} -I. -c ${CFLAGS} ../eftp/uether.c
if_ec.b: ../tftp/if_ec.c
	${CC} -I. -c ${CFLAGS} ../tftp/if_ec.c
if_il.b: ../tftp/if_il.c
	${CC} -I. -c ${CFLAGS} ../tftp/if_il.c

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

test.b: ../tftp/defs.h
prom2.b: ../h/prom2.h ../h/sunmon.h
boot.b: ../h/sunmon.h ../h/globram.h
writechar.b: ../h/globram.h
message.b: ../h/sunmon.h ../h/asmdef.h ../h/globram.h
printhex.b: ../h/sunmon.h ../h/asmdef.h ../h/globram.h
busyio.b: ../h/sunmon.h ../h/asmdef.h ../h/globram.h ../h/sunuart.h
enbootload.b: ../h/sunmon.h
boott.b: ../tftp/defs.h
subs.b: ../tftp/defs.h
getline.b: ../h/sunmon.h ../h/asmdef.h ../h/globram.h
if_ec.b: ../tftp/defs.h
if_il.b: ../tftp/defs.h
