PROG = collection OBJS = main.o collection.o linkedlist.o variablearray.o CC = g++ DBGFLAGS = -g -O0 ifdef DEBUG CFLAGS = $(DBGFLAGS) -D DEBUG -std=c++98 -pedantic-errors -Wall else CFLAGS = -O2 -std=c++98 -Wall endif LDFLAGS = -lm $(PROG): $(OBJS) $(CC) $(LDFLAGS) $(OBJS) -o $@ main.o: %.o: %.cpp collection.h linkedlist.h $(CC) -c $(CFLAGS) $< collection.o: %.o: %.cpp %.h $(CC) -c $(CFLAGS) $< linkedlist.o: %.o: %.cpp %.h collection.h $(CC) -c $(CFLAGS) $< variablearray.o: %.o: %.cpp %.h collection.h $(CC) -c $(CFLAGS) $< .PHONY: clean clean: @rm -f ./$(OBJS) ./$(PROG)