CC = gcc
CFLAGS = -Wall -O

HANDINFILES = a1.c a2.c a3.c a4.c a5.c a6.c b7.c b8.c b9.c b10.c b11.h TEAM_MEMBER
ASSTDIR = /afs/cs.cmu.edu/academic/class/15213-s00/H1

.SUFFIXES:
.SUFFIXES: .c .s .o .odis

.c.o:
	$(CC) -c $(CFLAGS) $*.c

.c.s:
	$(CC) -S $(CFLAGS) $*.c

.o.odis:
	objdump -d $*.o | egrep -v "^.*\.o" - > $*.odis

test_a1: a1.c test_a1.o 
	$(CC) $(CFLAGS) test_a1.o a1.c -o test_a1

test_a2: a2.c test_a2.o
	$(CC) $(CFLAGS) test_a2.o a2.c -o test_a2

test_a3: a3.c test_a3.o
	$(CC) $(CFLAGS) test_a3.o a3.c -o test_a3

test_a4: a4.c test_a4.o
	$(CC) $(CFLAGS) test_a4.o a4.c -o test_a4

test_a5: a5.c test_a5.o
	$(CC) $(CFLAGS) test_a5.o a5.c -o test_a5

test_a6: a6.c test_a6.o
	$(CC) $(CFLAGS) test_a6.o a6.c -o test_a6

test_b7: b7.c test_b7.o
	$(CC) $(CFLAGS) test_b7.o b7.c -o test_b7

test_b8: b8.c test_b8.o
	$(CC) $(CFLAGS) test_b8.o b8.c -o test_b8

test_b9: b9.c test_b9.o
	$(CC) $(CFLAGS) test_b9.o b9.c -o test_b9

test_b10: b10.c test_b10.o
	$(CC) $(CFLAGS) test_b10.o b10.c -o test_b10

test_b11: b11.c test_b11.o test_b11_helper.c b11.h
	$(CC) $(CFLAGS) test_b11.o test_b11_helper.c b11.c -o test_b11

check1: test_a1
	@echo Testing a1
	@-if ./test_a1 ; then echo "a1 appears to be OK" ; else echo "a1 is NOT OK" ; fi

check2: test_a2
	@echo Testing a2
	@-if ./test_a2 ; then echo "a2 appears to be OK" ; else echo "a2 is NOT OK" ; fi

check3: test_a3
	@echo Testing a3
	@-if ./test_a3 ; then echo "a3 appears to be OK" ; else echo "a3 is NOT OK" ; fi

check4: test_a4
	@echo Testing a4
	@-if ./test_a4 ; then echo "a4 appears to be OK" ; else echo "a4 is NOT OK" ; fi

check5: test_a5
	@echo Testing a5
	@-if ./test_a5 ; then echo "a5 appears to be OK" ; else echo "a5 is NOT OK" ; fi

check6: test_a6
	@echo Testing a6
	@-if ./test_a6 ; then echo "a6 appears to be OK" ; else echo "a6 is NOT OK" ; fi

check7: test_b7
	@echo Testing b7
	@-if ./test_b7 ; then echo "b7 appears to be OK" ; else echo "b7 is NOT OK" ; fi

check8: test_b8
	@echo Testing b8
	@-if ./test_b8 ; then echo "b8 appears to be OK" ; else echo "b8 is NOT OK" ; fi

check9: test_b9
	@echo Testing b9
	@-if ./test_b9 ; then echo "b9 appears to be OK" ; else echo "b9 is NOT OK" ; fi

check10: test_b10
	@echo Testing b10
	@-if ./test_b10 ; then echo "b10 appears to be OK" ; else echo "b10 is NOT OK" ; fi

check11: test_b11
	@echo Testing b11
	@-if ./test_b11 ; then echo "b11 is OK" ; else echo "b11 is NOT OK" ; fi

check: check1 check2 check3 check4 check5 check6 check7 check8 check9 check10 check11

handin:
	tar cvf H1-$(NAME)-$(VERSION).tar $(HANDINFILES)
	cp H1-$(NAME)-$(VERSION).tar $(ASSTDIR)/handin

