############################################### # Pattern rules ############################################### %.o: %.c gcc -Wall -c -o $@ $< %.do: %.c gcc -g -Wall -c -o $@ $< ############################################### # Build rules for non-file targets ############################################### all: release debug release: testmystring debug: testmystringgdb clobber: clean rm -f *~ \#*\# core clean: rm -f *.o *.do testmystring testmystringgdb ############################################### # Build rules for file targets ############################################### testmystring: testmystring.o mystring.o gcc -o $@ $< mystring.o testmystringgdb: testmystring.do mystring.do gcc -o $@ $< mystring.do # Some of these can be automatically generated via gcc -M .c: testmystring.o: testmystring.c mystring.h testmystring.do: testmystring.c mystring.h mystring.o: mystring.c mystring.h mystring.do: mystring.c mystring.h