-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
63 lines (42 loc) · 1.7 KB
/
Copy pathMakefile
File metadata and controls
63 lines (42 loc) · 1.7 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
CC = g++
CFLAGS = -O3 -Wall -pthread -std=c++17
LFLAGS = -pthread
SRC = src
LIB = $(SRC)/lib
STATS = $(SRC)/stats
V1 = $(SRC)/monitor/v1
V2 = $(SRC)/monitor/v2
V3 = $(SRC)/monitor/v3
BUILD = build
OBJ = $(BUILD)/obj
BIN = $(BUILD)/bin
OUT = $(BIN)/main1 $(BIN)/main2 $(BIN)/main3
all: $(BUILD) $(BIN) $(OBJ) $(OUT)
$(BUILD) $(BIN) $(OBJ):
mkdir -p $@
$(BIN)/main1: $(OBJ)/main1.o $(OBJ)/santa_v1.o $(OBJ)/cnt_condition_variable.o $(OBJ)/utilities.o $(OBJ)/statistics.o
$(CC) -o $@ $^ $(LFLAGS)
$(BIN)/main2: $(OBJ)/main2.o $(OBJ)/santa_v2.o $(OBJ)/cnt_condition_variable.o $(OBJ)/utilities.o $(OBJ)/statistics.o
$(CC) -o $@ $^ $(LFLAGS)
$(BIN)/main3: $(OBJ)/main3.o $(OBJ)/santa_v3.o $(OBJ)/cnt_condition_variable.o $(OBJ)/utilities.o $(OBJ)/statistics.o
$(CC) -o $@ $^ $(LFLAGS)
$(OBJ)/main1.o: $(SRC)/main1.cpp
$(CC) -I$(STATS) -I$(LIB) -I$(V1) $(CFLAGS) -c -o $@ $<
$(OBJ)/main2.o: $(SRC)/main2.cpp
$(CC) -I$(STATS) -I$(LIB) -I$(V2) $(CFLAGS) -c -o $@ $<
$(OBJ)/main3.o: $(SRC)/main3.cpp
$(CC) -I$(STATS) -I$(LIB) -I$(V3) $(CFLAGS) -c -o $@ $<
$(OBJ)/statistics.o: $(STATS)/statistics.cpp $(STATS)/statistics.hpp
$(CC) -I$(STATS) $(CFLAGS) -c -o $@ $<
$(OBJ)/utilities.o: $(LIB)/utilities.cpp $(LIB)/utilities.hpp
$(CC) -I$(LIB) $(CFLAGS) -c -o $@ $<
$(OBJ)/cnt_condition_variable.o: $(LIB)/cnt_condition_variable.cpp $(LIB)/cnt_condition_variable.hpp
$(CC) -I$(LIB) $(CFLAGS) -c -o $@ $<
$(OBJ)/santa_v1.o: $(V1)/santa_v1.cpp $(V1)/santa_v1.hpp
$(CC) -I$(LIB) $(CFLAGS) -c -o $@ $<
$(OBJ)/santa_v2.o: $(V2)/santa_v2.cpp $(V2)/santa_v2.hpp
$(CC) -I$(LIB) $(CFLAGS) -c -o $@ $<
$(OBJ)/santa_v3.o: $(V3)/santa_v3.cpp $(V3)/santa_v3.hpp
$(CC) -I$(LIB) -I$(STATS) $(CFLAGS) -c -o $@ $<
clean:
rm -rf $(BUILD)