CFLAGS=-Itestfiles -O2 CC=gcc AR=ar LDFLAGS=-Ltestfiles -lfoo testfiles/target: testfiles/input.o testfiles/libfoo.a $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) testfiles/libfoo.a: testfiles/foo.o testfiles/bar.o $(AR) crsv $@ $^ testfiles/foo.o: testfiles/foo.c testfiles/foo.h $(CC) $(CFLAGS) -o $@ -c $< testfiles/bar.o: testfiles/bar.c testfiles/bar.h $(CC) $(CFLAGS) -o $@ -c $< testfiles/input.o: testfiles/input.c testfiles/input.h testfiles/foo.h $(CC) $(CFLAGS) -o $@ -c $< clean: rm -f testfiles/*.o testfiles/*.a testfiles/target