
# Edit the constants to reflect your system's configuration
#

#CC=/usr/bin/gcc
CC=/usr/local/bin/gcc

#############################################################################

PROGS=circbuftest cu_alltests
OBJS=circbuf.o

CU_OBJS=cu_alltests.o $(OBJS)
CU_TEST_OBJS=cutest.o cu_circbuftest.o

#############################################################################

all: circbuf.o

circbuftest: circbuftest.c circbuf.o
	$(CC) -o circbuftest circbuftest.c circbuf.o

circbuf.o: circbuf.c circbuf.h
	$(CC) -c -o circbuf.o circbuf.c


#############################################################################
# CU Test Suite

# Test Framework

cu_alltests: cu_alltests.o cutest.o
	$(CC) -o cu_alltests $(CU_TEST_OBJS) $(CU_OBJS)

cu_alltests.o: cu_alltests.c $(CU_TEST_OBJS) $(CU_OBJS)
	$(CC) -c -o cu_alltests.o cu_alltests.c

cutest.o: cutest/CuTest.c
	$(CC) -c -o cutest.o cutest/CuTest.c

# Module Tests

cu_circbuftest.o: cu_circbuftest.c
	$(CC) -c -o cu_circbuftest.o cu_circbuftest.c

#############################################################################

clean:
	touch $(PROGS) $(CU_OBJS) $(CU_TEST_OBJS)
	rm $(PROGS) $(CU_OBJS) $(CU_TEST_OBJS)
