-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
82 lines (62 loc) · 3.25 KB
/
Makefile
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Compiler
CC = g++
# Default flags
CFLAGS = -g -Wall -std=c++11
# Target executable and program entry point
TARGET = 5AxLer
ENTRY = main.cpp
# Various directories
SRC_DIR = ./src/
BUILD_DIR = ./build/
LIB_DIR = ./libs/
TEST_DIR = ./tests/
# make default call
all: $(TARGET)
# To make the final program
$(TARGET): $(SRC_DIR)$(ENTRY) Mesh.o Vector3D.o Angle.o ProcessSTL.o Clock.o Plane.o Clipper.o Slicer.o Island.o Polygon.o BuildMap.o BuildMapToMATLAB.o
$(CC) $(CFLAGS) $(BUILD_DIR)Island.o $(BUILD_DIR)Polygon.o $(BUILD_DIR)Slicer.o $(BUILD_DIR)Clipper.o $(BUILD_DIR)Plane.o $(BUILD_DIR)Mesh.o $(BUILD_DIR)Vector3D.o $(BUILD_DIR)Angle.o $(BUILD_DIR)ProcessSTL.o $(BUILD_DIR)Clock.o $(BUILD_DIR)BuildMap.o $(BUILD_DIR)BuildMapToMATLAB.o -o $(BUILD_DIR)$(TARGET) $(SRC_DIR)$(ENTRY)
# Build the Mesh object file
Mesh.o: $(SRC_DIR)Mesh.cpp $(SRC_DIR)Mesh.hpp $(SRC_DIR)Utility.hpp $(SRC_DIR)Vector3D.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Mesh.o $(SRC_DIR)Mesh.cpp
# Build the Vector3D object file
Vector3D.o: $(SRC_DIR)Vector3D.cpp $(SRC_DIR)Vector3D.hpp $(SRC_DIR)Utility.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Vector3D.o $(SRC_DIR)Vector3D.cpp
# Build the Angle object file
Angle.o: $(SRC_DIR)Angle.cpp $(SRC_DIR)Angle.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Angle.o $(SRC_DIR)Angle.cpp
# Build the Clock object file
Clock.o: $(SRC_DIR)Clock.cpp $(SRC_DIR)Clock.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Clock.o $(SRC_DIR)Clock.cpp
# Build the BuildMap object file
BuildMap.o: $(SRC_DIR)BuildMap.cpp $(SRC_DIR)BuildMap.hpp $(SRC_DIR)Utility.hpp $(SRC_DIR)Vector3D.hpp $(SRC_DIR)Angle.hpp $(LIB_DIR)clipper/clipper.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)BuildMap.o $(SRC_DIR)BuildMap.cpp
# Build the BuildMapToMATLAB object file
BuildMapToMATLAB.o: $(SRC_DIR)BuildMap.cpp $(SRC_DIR)BuildMap.hpp $(SRC_DIR)Utility.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)BuildMapToMATLAB.o $(SRC_DIR)BuildMapToMATLAB.cpp
# Build the ProcessSTL object file
ProcessSTL.o: $(SRC_DIR)ProcessSTL.cpp $(SRC_DIR)ProcessSTL.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)ProcessSTL.o $(SRC_DIR)ProcessSTL.cpp
# Build the VolumeDecomposer object file
VolumeDecomposer.o: $(SRC_DIR)VolumeDecomposer.cpp $(SRC_DIR)VolumeDecomposer.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)VolumeDecomposer.o $(SRC_DIR)VolumeDecomposer.cpp
# Build the Island object file
Island.o: $(SRC_DIR)Island.cpp $(SRC_DIR)Island.hpp $(SRC_DIR)Utility.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Island.o $(SRC_DIR)Island.cpp
# Build the Plane object file
Plane.o: $(SRC_DIR)Plane.cpp $(SRC_DIR)Plane.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Plane.o $(SRC_DIR)Plane.cpp
# Make the Polygon object file
Polygon.o: $(SRC_DIR)Polygon.cpp $(SRC_DIR)Polygon.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Polygon.o $(SRC_DIR)Polygon.cpp
# Make the Slicer object file
Slicer.o: $(SRC_DIR)Slicer.cpp $(SRC_DIR)Slicer.hpp $(SRC_DIR)Utility.hpp $(SRC_DIR)Vector3D.hpp $(SRC_DIR)Plane.hpp $(SRC_DIR)Mesh.hpp $(SRC_DIR)Island.hpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Slicer.o $(SRC_DIR)Slicer.cpp
# Make the clipper object file
Clipper.o: $(LIB_DIR)clipper/clipper.cpp
$(CC) $(CFLAGS) -c -o $(BUILD_DIR)Clipper.o $(LIB_DIR)clipper/clipper.cpp
# Build the Tests object file
# Tests.o: $(TEST_DIR)
# $(CC) $(CFLAGS) -c -o $(BUILD_DIR)Tests.o $(TEST_DIR)Tests.cpp
# To clean the program
clean:
$(RM) $(BUILD_DIR)*