CXXFLAGS= -Wall -g -std=c++0x
OBJECTS=main.o Factory.o circle.o
EXE=main

all: $(EXE)


$(EXE): main.o
	$(CXX) $(CXXFLAGS) $(OBJECTS) -o $@
main.o: main.cpp Factory.o circle.o
Factory.o: Factory.cpp Factory.h
circle.o: circle.cpp circle.h

run: $(EXE)
	@./$(EXE)

clean:
	@rm -vf *.o
	@rm -vf $(EXE)

debug: $(EXE)
	gdb ./$(EXE)

valgrind: $(EXE)
	valgrind --tool=memcheck --leak-check=yes ./$(EXE)
