-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
executable file
·80 lines (62 loc) · 2.63 KB
/
makefile
File metadata and controls
executable file
·80 lines (62 loc) · 2.63 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
# Compiler and flags
CC = mpicxx
CFLAGS = -Wall -std=c++20
# Directories
SRC_DIR = src
COMMON_DIR = $(SRC_DIR)/common
COORDINATOR_DIR = $(SRC_DIR)/coordinator
NODE_DIR = $(SRC_DIR)/node
CLIENT_DIR = $(SRC_DIR)/client
# Source files
MAIN_SRC = $(SRC_DIR)/main.cpp
LOGGER_SRC = $(COMMON_DIR)/logger.cpp
COORDINATOR_SRC = $(COORDINATOR_DIR)/coordinator.cpp
NODE_SRC = $(NODE_DIR)/node.cpp
CLIENT_SRC = $(CLIENT_DIR)/client.cpp
CLIENT_REQUEST_UTILS_SRC = $(COMMON_DIR)/client_request_utils.cpp
CLIENT_RESPONSE_UTILS_SRC = $(COMMON_DIR)/client_response_utils.cpp
NODE_RESPONSE_UTILS_SRC = $(COMMON_DIR)/node_response_utils.cpp
NODE_REQUEST_UTILS_SRC = $(COMMON_DIR)/node_request_utils.cpp
MPI_MANAGER_SRC = $(COMMON_DIR)/mpi_manager.cpp
# Object files
MAIN_OBJ = main.o
LOGGER_OBJ = logger.o
COORDINATOR_OBJ = coordinator.o
NODE_OBJ = node.o
CLIENT_OBJ = client.o
CLIENT_REQUEST_UTILS_OBJ = client_request_utils.o
CLIENT_RESPONSE_UTILS_OBJ = client_response_utils.o
NODE_RESPONSE_UTILS_OBJ = node_response_utils.o
NODE_REQUEST_UTILS_OBJ = node_request_utils.o
MPI_MANAGER_OBJ = mpi_manager.o
# Targets
all: build run
build: main
main: $(MAIN_OBJ) $(COORDINATOR_OBJ) $(NODE_OBJ) $(CLIENT_OBJ) $(LOGGER_OBJ) \
$(CLIENT_REQUEST_UTILS_OBJ) $(CLIENT_RESPONSE_UTILS_OBJ) $(NODE_RESPONSE_UTILS_OBJ) $(NODE_REQUEST_UTILS_OBJ) $(MPI_MANAGER_OBJ)
$(CC) $(CFLAGS) -o main $(MAIN_OBJ) $(COORDINATOR_OBJ) $(NODE_OBJ) $(CLIENT_OBJ) \
$(LOGGER_OBJ) $(CLIENT_REQUEST_UTILS_OBJ) $(CLIENT_RESPONSE_UTILS_OBJ) $(NODE_RESPONSE_UTILS_OBJ) $(NODE_REQUEST_UTILS_OBJ) $(MPI_MANAGER_OBJ)
$(MAIN_OBJ): $(MAIN_SRC)
$(CC) $(CFLAGS) -c $(MAIN_SRC) -o $(MAIN_OBJ)
$(LOGGER_OBJ): $(LOGGER_SRC)
$(CC) $(CFLAGS) -c $(LOGGER_SRC) -o $(LOGGER_OBJ)
$(COORDINATOR_OBJ): $(COORDINATOR_SRC)
$(CC) $(CFLAGS) -c $(COORDINATOR_SRC) -o $(COORDINATOR_OBJ)
$(NODE_OBJ): $(NODE_SRC)
$(CC) $(CFLAGS) -c $(NODE_SRC) -o $(NODE_OBJ)
$(CLIENT_OBJ): $(CLIENT_SRC)
$(CC) $(CFLAGS) -c $(CLIENT_SRC) -o $(CLIENT_OBJ)
$(CLIENT_REQUEST_UTILS_OBJ): $(CLIENT_REQUEST_UTILS_SRC)
$(CC) $(CFLAGS) -c $(CLIENT_REQUEST_UTILS_SRC) -o $(CLIENT_REQUEST_UTILS_OBJ)
$(CLIENT_RESPONSE_UTILS_OBJ): $(CLIENT_RESPONSE_UTILS_SRC)
$(CC) $(CFLAGS) -c $(CLIENT_RESPONSE_UTILS_SRC) -o $(CLIENT_RESPONSE_UTILS_OBJ)
$(NODE_RESPONSE_UTILS_OBJ): $(NODE_RESPONSE_UTILS_SRC)
$(CC) $(CFLAGS) -c $(NODE_RESPONSE_UTILS_SRC) -o $(NODE_RESPONSE_UTILS_OBJ)
$(NODE_REQUEST_UTILS_OBJ): $(NODE_REQUEST_UTILS_SRC)
$(CC) $(CFLAGS) -c $(NODE_REQUEST_UTILS_SRC) -o $(NODE_REQUEST_UTILS_OBJ)
$(MPI_MANAGER_OBJ): $(MPI_MANAGER_SRC)
$(CC) $(CFLAGS) -c $(MPI_MANAGER_SRC) -o $(MPI_MANAGER_OBJ)
run: main
mpirun -np 4 --stdin 3 ./main
clean:
rm -f *.o main