############################################### # makefile5: Macros ############################################### RELEASE_OPTIONS = -Wall DEBUG_OPTIONS = -g -Wall RELEASE_OBJS = testmystring.o mystring.o DEBUG_OBJS = testmystring.do mystring.do RELEASE_EXEC = testmystring DEBUG_EXEC = testmystringgdb %.o: %.c gcc $(RELEASE_OPTIONS) -c -o $@ $< %.do: %.c gcc $(DEBUG_OPTIONS) -c -o $@ $< all: debug release release: $(RELEASE_EXEC) debug: $(DEBUG_EXEC) clobber: clean rm -f *~ \#*\# core clean: rm -f $(RELEASE_OBJS) $(DEBUG_OBJS) $(RELEASE_EXEC) $(DEBUG_EXEC) $(RELEASE_EXEC): $(RELEASE_OBJS) gcc -o $(RELEASE_EXEC) $(RELEASE_OBJS) $(DEBUG_EXEC): $(DEBUG_OBJS) gcc -o $(DEBUG_EXEC) $(DEBUG_OBJS) testmystring.o: testmystring.c mystring.h testmystring.do: testmystring.c mystring.h mystring.o: mystring.c mystring.h mystring.do: mystring.c mystring.h