all: ms02 dk dkr test
CC = g++
INCLUDE = 
CFLAGS = -g -Wall  
#-ansi

test: main.o node.o edge.o graph.o util.o pairs_parser.o \
      WSLsplit.o permutator.o   mapdictionary.o dijkstra.o node_parser.o
	$(CC) -o test main.o node.o edge.o graph.o util.o pairs_parser.o \
         WSLsplit.o permutator.o mapdictionary.o dijkstra.o node_parser.o

dkr: dijk_of_random_nodes.o node.o graph.o util.o pairs_parser.o WSLsplit.o dijkstra.o node_parser.o
	$(CC) -o dkr dijk_of_random_nodes.o node.o graph.o util.o pairs_parser.o WSLsplit.o dijkstra.o node_parser.o

dk: dijk_driver.o node.o graph.o util.o pairs_parser.o WSLsplit.o dijkstra.o node_parser.o
	$(CC) -o dk dijk_driver.o node.o graph.o util.o pairs_parser.o WSLsplit.o dijkstra.o node_parser.o

ms02: ms02.o node.o edge.o graph.o util.o pairs_parser.o WSLsplit.o permutator.o
	$(CC) -o ms02 ms02.o node.o edge.o graph.o util.o pairs_parser.o WSLsplit.o permutator.o 

main.o: main.c
	$(CC) -I$(INCLUDE) $(CFLAGS) -c main.c

dijk_driver.o: dijk_driver.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c dijk_driver.cpp

dijk_of_random_nodes.o: dijk_of_random_nodes.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c dijk_of_random_nodes.cpp

ms02.o: ms02.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c ms02.cpp

node.o:	node.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c node.cpp

edge.o:	edge.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c edge.cpp

util.o:	util.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c util.cpp

graph.o:	graph.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c graph.cpp

pairs_parser.o: pairs_parser.cpp 
	$(CC) -I$(INCLUDE) $(CFLAGS) -c pairs_parser.cpp 

WSLsplit.o: WSLsplit.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c WSLsplit.cpp   

permutator.o:permutator.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c permutator.cpp

mapdictionary.o: mapdictionary.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c mapdictionary.cpp   

dijkstra.o: dijkstra.cpp
	$(CC) -I$(INCLUDE) $(CFLAGS) -c dijkstra.cpp   

clean:
	rm -rf *o ms02 test dk dkr ms02.exe test.exe dk.exe dkr.exe

