LIBFILES=tcplib.o
CC=gcc
CDEBUGFLAGS=-g
CFLAGS=$(CDEBUGFLAGS) -I. -I../include

all: arlib perfmsg sizedmsg rttmsg timemsg connect

clean:
	-rm *.o core *\~ perfmsg sizedmsg rttmsg timemsg connect
	
check:	dotest1 dotest2 dotest3
bigcheck: dobigtest1 dobigtest2 dobigtest3

arlib: $(LIBFILES)

connect: tcplib.o connect.o
	$(CC) $(CFLAGS) -o connect connect.o tcplib.o -L.. -leutl

perfmsg: tcplib.o perfmsg.o
	$(CC) $(CFLAGS) -o perfmsg perfmsg.o tcplib.o -L.. -leutl

timemsg: timemsg.o tcplib.o
	$(CC) $(CFLAGS) -o timemsg timemsg.o tcplib.o -L.. -leutl

dotest1: perfmsg FORCE
	@echo "Running Test 1 -- Fixed sized packets"
	./perftest 10 300
	./perftest 100 500
	./perftest 1000 2000
	@echo Test 1 passed

dobigtest1: perfmsg FORCE
	./perftest 100 20000
	./perftest 100000 30
	./perftest 500000 10

sizedmsg: tcplib.o sizedmsg.o
	$(CC) $(CFLAGS) -o sizedmsg sizedmsg.o tcplib.o -L.. -leutl

dotest2: sizedmsg FORCE
	@echo "Running Test 2 -- Random-length, sized packets"
	./sizedtest 300 10 1000
	./sizedtest 500 1000 100000
	./sizedtest 2000 1000 1000

dobigtest2: sizedmsg FORCE
	./sizedtest 10 500000 500000
	./sizedtest 10000 10 10000
	./sizedtest 3000 100 100000

rttmsg: tcplib.o rttmsg.o
	$(CC) $(CFLAGS) -o rttmsg rttmsg.o tcplib.o -L.. -leutl

dotest3: rttmsg FORCE
	@echo "Running Test 3 -- Random-length, round trip, sized packets"
	./rtttest 300 10 1000
	./rtttest 500 1000 100000
	./rtttest 2000 1000 1000

dobigtest3: rttmsg FORCE
	./rtttest 10 500000 500000
	./rtttest 10000 10 10000
	./rtttest 3000 100 100000

FORCE:
