# $Id: Makefile,v 1.11 1996/01/19 18:42:36 jhawk Exp $

CFLAGS=-I./include
INCLUDES= include/netinet/ip.h include/netinet/in.h

all: new-tcp_output.o setsockopt.o

clean:
	rm -f t0.o t1.o t2.o new-tcp_output.o setsockopt.o		\
	setsockopt

distclean:
	rm -f t0.o t1.o t2.o setsockopt

# t0:	stuff to add to tcp_output
# t1:	new code goes in final link
# t2:	tcpoutput+t0
# t3:	final w/ extra symbol crap

t0.o: t0.s
	gas -o t0.o t0.s

t1.o: t1.s
	gas -o t1.o t1.s

t2.o: tcp_output.o t0.o
	gld -r tcp_output.o t0.o -o t2.o
	# Patching relocs
	@(echo "?m0 128b 0"						\
	 ;echo "dd0?W000008f4"						\
	 ;echo "ddc?W000008f8"						\
	)| adb -w t2.o
	# Patching code
	@(echo "tcp_output+8f4?W11000000"				\
	 ;echo "tcp_output+8f8?W81c22000"				\
	)| adb -w t2.o
	# The above output should be compared to "patch.out"

t3.o: t1.o t2.o
	gld -r t1.o t2.o -o t3.o

new-tcp_output.o: t3.o
	objcopy -N t0.o -N t1.o -N t2.o -N replace_tcp_output_790	\
		-N replace_tcp_output_8f4 -N tcp_output.o		\
	 	t3.o new-tcp_output.o

setsockopt.o: setsockopt.c $(INCLUDES)
	cc $(CFLAGS) -c -O -DKERNEL -Dsun4m setsockopt.c

domodload: setsockopt.o
	cp setsockopt.o /var/tmp
	(cd /var/tmp; modload setsockopt.o)
