-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
64 lines (44 loc) · 3.14 KB
/
Copy pathMakefile
File metadata and controls
64 lines (44 loc) · 3.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
EXEC=main
CXX = g++
CXXFLAGS = -Wall -g
BUILD=./build/
SRC=./src/
INCLUDE=./include/
GRAPHS=./testGraphs/
HEURISTICS = $(BUILD)Heuristic.o $(BUILD)ManhattanHeuristic.o $(BUILD)EuclidianHeuristic.o $(BUILD)ZeroHeuristic.o
GRAPHSEARCHERDEPENDENCIES = $(BUILD)Graph.o $(BUILD)SearchGraphNode.o $(BUILD)ParallelASearch.o $(HEURISTICS) $(BUILD)BST.o $(BUILD)BSTNode.o
all: ${EXEC}
${EXEC}: $(BUILD)main.o $(BUILD)FileToGraph.o $(BUILD)GraphNode.o $(BUILD)GraphSearcher.o $(GRAPHSEARCHERDEPENDENCIES)
${CXX} ${CXXFLAGS} -o ${EXEC} $(BUILD)main.o $(BUILD)GraphNode.o $(BUILD)GraphSearcher.o $(BUILD)FileToGraph.o $(GRAPHSEARCHERDEPENDENCIES) -lpthread
$(BUILD)main.o: $(SRC)main.cpp $(BUILD)FileToGraph.o $(BUILD)GraphNode.o $(BUILD)SearchGraphNode.o $(BUILD)GraphSearcher.o
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)main.cpp -o $(BUILD)main.o
$(BUILD)GraphNode.o: $(SRC)GraphNode.cpp
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)GraphNode.cpp -o $(BUILD)GraphNode.o
$(BUILD)SearchGraphNode.o: $(SRC)SearchGraphNode.cpp $(BUILD)GraphNode.o
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)SearchGraphNode.cpp -o $(BUILD)SearchGraphNode.o
$(BUILD)GraphSearcher.o: $(SRC)GraphSearcher.cpp $(GRAPHSEARCHERDEPENDENCIES)
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)GraphSearcher.cpp -o $(BUILD)GraphSearcher.o -lpthread
$(BUILD)Graph.o: $(SRC)Graph.cpp $(BUILD)GraphNode.o $(BUILD)Heuristic.o
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)Graph.cpp -o $(BUILD)Graph.o
$(BUILD)Heuristic.o: $(BUILD)GraphNode.o $(SRC)Heuristic.cpp
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)Heuristic.cpp -o $(BUILD)Heuristic.o
$(BUILD)ParallelASearch.o: $(BUILD)Heuristic.o $(BUILD)GraphNode.o $(BUILD)BST.o $(BUILD)Graph.o $(BUILD)SearchGraphNode.o $(SRC)ParallelASearch.cpp
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)ParallelASearch.cpp -o $(BUILD)ParallelASearch.o -lpthread
$(BUILD)ManhattanHeuristic.o: $(BUILD)Heuristic.o $(SRC)ManhattanHeuristic.cpp
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)ManhattanHeuristic.cpp -o $(BUILD)ManhattanHeuristic.o
$(BUILD)EuclidianHeuristic.o: $(BUILD)Heuristic.o $(SRC)EuclidianHeuristic.cpp
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)EuclidianHeuristic.cpp -o $(BUILD)EuclidianHeuristic.o
$(BUILD)ZeroHeuristic.o: $(BUILD)Heuristic.o $(SRC)ZeroHeuristic.cpp
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)ZeroHeuristic.cpp -o $(BUILD)ZeroHeuristic.o
$(BUILD)FileToGraph.o: $(BUILD)Graph.o $(BUILD)GraphNode.o $(SRC)FileToGraph.cpp
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)FileToGraph.cpp -o $(BUILD)FileToGraph.o
$(BUILD)BST.o: $(BUILD)BSTNode.o $(BUILD)SearchGraphNode.o $(SRC)BST.cpp
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)BST.cpp -o $(BUILD)BST.o
$(BUILD)BSTNode.o: $(SRC)BSTNode.cpp $(BUILD)SearchGraphNode.o
${CXX} ${CXXFLAGS} -I${INCLUDE} -c $(SRC)BSTNode.cpp -o $(BUILD)BSTNode.o
test: ${EXEC}
./${EXEC} ${GRAPHS}teste${ARG}.txt ${GRAPHS}nodePosGraph${ARG}.txt ${GRAPHS}nodesToGetPathGraph${ARG}.txt 4
memCheck: ${EXEC}
valgrind --leak-check=full --show-leak-kinds=all ./${EXEC} ${GRAPHS}teste${ARG}.txt ${GRAPHS}nodePosGraph${ARG}.txt ${GRAPHS}nodesToGetPathGraph${ARG}.txt
clean:
rm ${EXEC} -f $(BUILD)*/*.o $(BUILD)*.o