Files
42_INT_12_webserv/Makefile
2022-07-31 12:05:28 +02:00

67 lines
1.1 KiB
Makefile

NAME = webserv
CXX = c++
CXXFLAGS = -Wall -Wextra #-Werror
CXXFLAGS += $(HEADERS_I)
CXXFLAGS += -std=c++98
CXXFLAGS += -g
CXXFLAGS += -MMD -MP #header dependencie
#CXXFLAGS += -O3
#SHELL = /bin/zsh
VPATH = $(SRCS_D)
HEADERS_I = $(HEADERS_D:%=-I%)
HEADERS_D = srcs \
headers
HEADERS = Webserv.hpp \
ConfigParser.hpp \
ServerConfig.hpp \
LocationConfig.hpp \
Client.hpp \
MethodType.hpp \
utils.hpp \
SRCS_D = srcs \
srcs/webserv
SRCS = main.cpp \
ft_itoa.cpp \
base.cpp init.cpp close.cpp epoll_update.cpp signal.cpp \
accept.cpp request.cpp response.cpp \
run_loop.cpp \
ConfigParser.cpp \
utils.cpp \
OBJS_D = builds
OBJS = $(SRCS:%.cpp=$(OBJS_D)/%.o)
DEPS = $(OBJS:.o=.d) #header dependencie
# --------------------
# ------ RULES -------
# --------------------
all: $(NAME)
$(OBJS_D)/%.o: %.cpp | $(OBJS_D)
$(CXX) $(CXXFLAGS) -c $< -o $@
$(OBJS_D):
mkdir $@
$(NAME): $(OBJS)
$(CXX) $^ -o $(NAME)
clean:
rm -rf $(OBJS_D)
fclean: clean
rm -f $(NAME)
re: fclean all
.PHONY : all clean fclean re
-include $(DEPS) # header dependencie