CC = gcc
CFLAGS = -Wall -O2

PROGS =	foobar1\
	foobar2\
	foobar3\
	foobar4\
	foobar5\
	foobar6\

all: $(PROGS)

foobar3: foo3.c bar3.c
	$(CC) $(CFLAGS) -o foobar3 foo3.c bar3.c

foobar4: foo4.c bar4.c
	$(CC) $(CFLAGS) -o foobar4 foo4.c bar4.c

foobar5: foo5.c bar5.c
	$(CC) $(CFLAGS) -o foobar5 foo5.c bar5.c

# This one is supposed to generate a compiler warning
foobar6: foo6.c bar6.c
	$(CC) $(CFLAGS) -o foobar6 foo6.c bar6.c


######################################### 
# These are supposed to fail at link time
######################################### 
linkerror: linkerror.c
	-$(CC) $(CFLAGS) -o linkerror linkerror.c

foobar1: foo1.c bar1.c
	-$(CC) $(CFLAGS) -o foobar1 foo1.c bar1.c

foobar2: foo2.c bar2.c
	-$(CC) $(CFLAGS) -o foobar2 foo2.c bar2.c


clean:
	rm -f $(PROGS) *.o *~


