############################################### # makefile5: Macros ############################################### RELEASE_OPTIONS = -Wall -ansi -pedantic DEBUG_OPTIONS = -g -Wall -ansi -pedantic RELEASE_OBJS = testsymtable.o symtable.o DEBUG_OBJS = testsymtable.do symtable.do RELEASE_EXEC = testsymtable DEBUG_EXEC = testsymtablegdb %.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) testsymtable.o: symtable.h testsymtable.do: symtable.h symtable.o: symtable.h symtable.do: symtable.h