-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
212 lines (177 loc) · 5.6 KB
/
Copy pathMakefile
File metadata and controls
212 lines (177 loc) · 5.6 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
CXX = g++
DEBUGFLAGS = -g
RELEASEFLAGS = -O3
ifeq ($(OS), Windows_NT)
SHELL = CMD
CFLAGS = -c -Wall -std=c++20
LDFLAGS =
EXE_vmain1d = ./Debug/vmain1.exe
EXE_vmain1 = ./Release/vmain1.exe
EXE_vmain2d = ./Debug/vmain2.exe
EXE_vmain2 = ./Release/vmain2.exe
EXE_vmain3d = ./Debug/vmain3.exe
EXE_vmain3 = ./Release/vmain3.exe
EXE_emain1d = ./Debug/emain1.exe
EXE_emain1 = ./Release/emain1.exe
EXE_emain2d = ./Debug/emain2.exe
EXE_emain2 = ./Release/emain2.exe
EXE_emain3d = ./Debug/emain3.exe
EXE_emain3 = ./Release/emain3.exe
EXE_emain4d = ./Debug/emain4.exe
EXE_emain4 = ./Release/emain4.exe
EXE_emain5d = ./Debug/emain5.exe
EXE_emain5 = ./Release/emain5.exe
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S), Linux)
CFLAGS = -c -Wall -std=c++20 -ftree-vectorize -mavx
LDFLAGS =
# -lboost_iostreams -lboost_system -lboost_filesystem
EXE_vmain1d = ./Debug/vmain1
EXE_vmain1 = ./Release/vmain1
EXE_vmain2d = ./Debug/vmain2
EXE_vmain2 = ./Release/vmain2
EXE_vmain3d = ./Debug/vmain3
EXE_vmain3 = ./Release/vmain3
EXE_emain1d = ./Debug/emain1
EXE_emain1 = ./Release/emain1
EXE_emain2d = ./Debug/emain2
EXE_emain2 = ./Release/emain2
EXE_emain3d = ./Debug/emain3
EXE_emain3 = ./Release/emain3
EXE_emain4d = ./Debug/emain4
EXE_emain4 = ./Release/emain4
EXE_emain5d = ./Debug/emain5
EXE_emain5 = ./Release/emain5
endif
endif
$(info init..)
.PHONY: vmain1d vmain1 vmain2d vmain2 vmain3d vmain3 emain1d emain1 emain2d emain2 emain3d emain3 emain4d emain4 emain5d emain5
vmain1d: ./Source/vmain1.cpp $(EXE_vmain1d)
vmain1: ./Source/vmain1.cpp $(EXE_vmain1)
vmain2d: ./Source/vmain2.cpp $(EXE_vmain2d)
vmain2: ./Source/vmain2.cpp $(EXE_vmain2)
vmain3d: ./Source/vmain3.cpp $(EXE_vmain3d)
vmain3: ./Source/vmain3.cpp $(EXE_vmain3)
emain1d: ./Source/excmain1.cpp $(EXE_emain1d)
emain1: ./Source/excmain1.cpp $(EXE_emain1)
emain2d: ./Source/excmain2.cpp $(EXE_emain2d)
emain2: ./Source/excmain2.cpp $(EXE_emain2)
emain3d: ./Source/excmain3.cpp $(EXE_emain3d)
emain3: ./Source/excmain3.cpp $(EXE_emain3)
emain4d: ./Source/excmain4.cpp $(EXE_emain4d)
emain4: ./Source/excmain4.cpp $(EXE_emain4)
emain5d: ./Source/excmain5.cpp $(EXE_emain5d)
emain5: ./Source/excmain5.cpp $(EXE_emain5)
./Source/vmain1.o: ./Source/vmain1.cpp
$(info processing....)
$(CXX) $(RELEASEFLAGS) $(CFLAGS) $< -o $@
./Source/vmain1.d.o: ./Source/vmain1.cpp
$(info processing....)
$(CXX) $(DEBUGFLAGS) $(CFLAGS) $< -o $@
./Source/vmain2.o: ./Source/vmain2.cpp
$(info processing....)
$(CXX) $(RELEASEFLAGS) -I./ $(CFLAGS) $< -o $@
./Source/vmain2.d.o: ./Source/vmain2.cpp
$(info processing....)
$(CXX) $(DEBUGFLAGS) -I./ $(CFLAGS) $< -o $@
./Source/vmain3.o: ./Source/vmain3.cpp
$(info processing....)
$(CXX) $(RELEASEFLAGS) -I./ $(CFLAGS) $< -o $@
./Source/vmain3.d.o: ./Source/vmain3.cpp
$(info processing....)
$(CXX) $(DEBUGFLAGS) -I./ $(CFLAGS) $< -o $@
./Source/emain1.o: ./Source/excmain1.cpp
$(info processing....)
$(CXX) $(RELEASEFLAGS) $(CFLAGS) $< -o $@
./Source/emain1.d.o: ./Source/excmain1.cpp
$(info processing....)
$(CXX) $(DEBUGFLAGS) $(CFLAGS) $< -o $@
./Source/emain2.o: ./Source/excmain2.cpp
$(info processing....)
$(CXX) $(RELEASEFLAGS) $(CFLAGS) $< -o $@
./Source/emain2.d.o: ./Source/excmain2.cpp
$(info processing....)
$(CXX) $(DEBUGFLAGS) $(CFLAGS) $< -o $@
./Source/emain3.o: ./Source/excmain3.cpp
$(info processing....)
$(CXX) $(RELEASEFLAGS) $(CFLAGS) $< -o $@
./Source/emain3.d.o: ./Source/excmain3.cpp
$(info processing....)
$(CXX) $(DEBUGFLAGS) $(CFLAGS) $< -o $@
./Source/emain4.o: ./Source/excmain4.cpp
$(info processing....)
$(CXX) $(RELEASEFLAGS) $(CFLAGS) $< -o $@
./Source/emain4.d.o: ./Source/excmain4.cpp
$(info processing....)
$(CXX) $(DEBUGFLAGS) $(CFLAGS) $< -o $@
./Source/emain5.o: ./Source/excmain5.cpp
$(info processing....)
$(CXX) $(RELEASEFLAGS) $(CFLAGS) $< -o $@
./Source/emain5.d.o: ./Source/excmain5.cpp
$(info processing....)
$(CXX) $(DEBUGFLAGS) $(CFLAGS) $< -o $@
$(EXE_vmain1d): ./Source/vmain1.d.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_vmain1): ./Source/vmain1.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_vmain2d): ./Source/vmain2.d.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_vmain2): ./Source/vmain2.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_vmain3d): ./Source/vmain3.d.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_vmain3): ./Source/vmain3.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain1d): ./Source/emain1.d.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain1): ./Source/emain1.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain2d): ./Source/emain2.d.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain2): ./Source/emain2.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain3d): ./Source/emain3.d.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain3): ./Source/emain3.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain4d): ./Source/emain4.d.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain4): ./Source/emain4.o
$(info processing......)
$(CXX) $(LDFLAGS) $^ -o $@
$(EXE_emain5d): ./Source/emain5.d.o
$(info processing......)
$(CXX) $(LDFLAGS) -lboost_thread $^ -o $@
$(EXE_emain5): ./Source/emain5.o
$(info processing......)
$(CXX) $(LDFLAGS) -lboost_thread $^ -o $@
.PHONY: clean
clean:
rm ./Source/*.o
clean_with_bin:
rm ./Source/*.o
rm ./Debug/*
rm ./Release/*
#ifeq ($(OS), Windows_NT)
# copy .\Source\*.o .\*.o
# del .\Source\*.o
#else
# UNAME_S := $(shell uname -s)
# ifeq ($(UNAME_S), Linux)
# rm *.o
# endif
#endif