CCFLAGS= -ggdb -Wall
CC=g++ ${CCFLAGS}
OBJ= BucketsNode.o BreadthFirstSearcher.o DepthFirstSearcher.o DepthLimitedSearcher.o IterativeDeepeningDepthFirstSearcher.o LightsOutNode.o PegSolitaireNode.o RecursiveDepthFirstSearcher.o SearchNode.o SearchTest.o Searcher.o

SearchTest: ${OBJ}
	${CC} -o SearchTest ${OBJ}

# use "g++ -MM *.cc" to get the following dependencies, then fill in
# command lines.  "$<" means the first dependency file.  There are other internal macros (e.g. $@, $?) described in the GNU make documentation: http://www.gnu.org/manual/make/

BreadthFirstSearcher.o: BreadthFirstSearcher.cc BreadthFirstSearcher.h Searcher.h SearchNode.h
	${CC} -c $< 
BucketsNode.o: BucketsNode.cc BucketsNode.h SearchNode.h
	${CC} -c $<
DepthFirstSearcher.o: DepthFirstSearcher.cc DepthFirstSearcher.h Searcher.h SearchNode.h
	${CC} -c $<
DepthLimitedSearcher.o: DepthLimitedSearcher.cc DepthLimitedSearcher.h Searcher.h SearchNode.h
	${CC} -c $<
IterativeDeepeningDepthFirstSearcher.o: IterativeDeepeningDepthFirstSearcher.cc IterativeDeepeningDepthFirstSearcher.h Searcher.h SearchNode.h
	${CC} -c $<
LightsOutNode.o: LightsOutNode.cc LightsOutNode.h SearchNode.h
	${CC} -c $<
PegSolitaireNode.o: PegSolitaireNode.cc PegSolitaireNode.h SearchNode.h
	${CC} -c $<
RecursiveDepthFirstSearcher.o: RecursiveDepthFirstSearcher.cc RecursiveDepthFirstSearcher.h Searcher.h SearchNode.h
	${CC} -c $<
SearchNode.o: SearchNode.cc SearchNode.h
	${CC} -c $<
SearchTest.o: SearchTest.cc SearchNode.h Searcher.h DepthFirstSearcher.h PegSolitaireNode.h
	${CC} -c $<
Searcher.o: Searcher.cc Searcher.h SearchNode.h
	${CC} -c $<

clean:
	/bin/rm -f *.o core 
