CXXFLAGS= -Wall -g -std=c++0x 
OBJECTS=Factory.o station.o deque.o ordeque.o  irdeque.o  queue.o linkedlist.o node.o stack.o pwnd.o ignoreme.a
EXE=main
all: pwnd.o $(EXE)

$(EXE): $(OBJECTS)
	$(CXX) $(CXXFLAGS) $(OBJECTS) -o $@
main.o: main.cpp Factory.o ordeque.o irdeque.o deque.o queue.o station.o linkedlist.o node.o stack.o pwnd.o ignoreme.a 
Factory.o: Factory.cpp Factory.h
station.o: station.cpp station.h
linkedlist.o: linkedlist.cpp linkedlist.h
stack.o: stack.cpp stack.h
queue.o: queue.cpp queue.h
deque.o: deque.cpp deque.h
irdeque.o: irdeque.cpp irdeque.h
ordeque.o: ordeque.cpp ordeque.h
node.o: node.cpp node.h
pwnd.o: pwnd.c

run: main
	./main

clean:
	@rm -vf *.o
	@rm -vf $(EXE)
	@rm -vf *.1
	@rm -vf *.0
	@rm -vf test
	@rm -rvf *.dSYM

drun: main
	gdb ./main

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