-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
68 lines (53 loc) · 1.15 KB
/
Copy pathMakefile
File metadata and controls
68 lines (53 loc) · 1.15 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
NAME :=tcpserv
# flags
CXX := c++
CXXFLAGS := -Wall -Werror -Wextra -std=c++11
SRCS_DIR := srcs/
SRCS := main.cpp \
\
oaklog.cpp \
\
tcpserv.cpp \
Config.cpp \
Kiwi.cpp \
SeedHTTP.cpp \
parseHeader.cpp \
plantSeed.cpp \
\
methods/GET.cpp \
methods/POST.cpp \
methods/DELETE.cpp \
methods/OPTIONS.cpp
DEP_FILES := \
classes/oaklog/oaklog.hpp \
\
classes/webserv/tcpserv.hpp \
classes/Kiwi/Config.hpp \
classes/Kiwi/SeedHTTP.hpp \
classes/Kiwi/Kiwi.hpp
DEPS = $(addprefix $(SRCS_DIR), $(DEP_FILES))
INCS := -I srcs/classes/Kiwi \
-I srcs/classes/oaklog \
-I srcs/classes/webserv
OBJ_DIR := obj/
OBJS := $(addprefix $(OBJ_DIR), $(notdir $(SRCS:.cpp=.o)))
VPATH := srcs/ \
srcs/classes \
srcs/classes/webserv \
srcs/classes/oaklog \
srcs/classes/Kiwi \
srcs/classes/Kiwi/srcs \
srcs/classes/Kiwi/methods
all: $(NAME)
$(OBJ_DIR):
mkdir -p $(OBJ_DIR)
$(OBJ_DIR)%.o : %.cpp | $(OBJ_DIR)
$(CXX) $(CXXFLAGS) $(INCS) -c $^ -o $@
$(NAME): $(DEPS) $(OBJS)
$(CXX) $(CXXFLAGS) $(OBJS) -o $@
clean:
rm -f $(OBJS)
fclean:
rm -rf $(OBJ_DIR)
re: fclean all
.PHONY: all clean fclean