mirror of
https://github.com/3lswear/webserv.git
synced 2025-10-28 21:07:59 +03:00
62 lines
1.3 KiB
Makefile
62 lines
1.3 KiB
Makefile
NAME = webserv
|
|
|
|
CXX = g++
|
|
|
|
# SANFLAGS = -fsanitize=address
|
|
|
|
# SANFLAGS = -fsanitize=leak
|
|
|
|
# DEBUGFLAGS = -g -fno-limit-debug-info -DDEBUG
|
|
|
|
CXXFLAGS = -Wall -Wextra -Werror -std=c++98 $(DEBUGFLAGS) $(SANFLAGS) -O3
|
|
|
|
CPPFLAGS += -MMD -MP
|
|
|
|
SRC = ./src/Autoindex/Autoindex.cpp \
|
|
./src/CGI/CgiHandle.cpp \
|
|
./src/Client/Config.cpp \
|
|
./src/Client/Request.cpp \
|
|
./src/Client/Client.cpp \
|
|
./src/Client/Response.cpp \
|
|
./src/Server/ServerConfig.cpp \
|
|
./src/Server/Socket.cpp \
|
|
./src/Server/Server.cpp \
|
|
./src/config/ConfigException.cpp \
|
|
./src/config/parse.cpp \
|
|
./src/config/TOMLNode.cpp \
|
|
./src/config/TOMLParser.cpp \
|
|
./src/config/Tokenizer.cpp \
|
|
./src/main.cpp
|
|
|
|
INCLUDES = ./includes/ -I src/Autoindex -I src/config -I src/Client -I src/Server -I src/CGI
|
|
|
|
OBJ = $(SRC:.cpp=.o)
|
|
|
|
all: $(NAME)
|
|
|
|
$(OBJ): %.o: %.cpp $(SRC) Makefile
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -I $(INCLUDES) -o $@
|
|
|
|
|
|
$(NAME): $(OBJ)
|
|
$(CXX) $(CXXFLAGS) $(OBJ) -o $(NAME)
|
|
|
|
clean:
|
|
$(RM) $(OBJ)
|
|
$(RM) $(SRC:.cpp=.d)
|
|
|
|
fclean: clean
|
|
$(RM) $(NAME)
|
|
|
|
re:
|
|
$(MAKE) fclean
|
|
$(MAKE) all
|
|
|
|
run: $(NAME)
|
|
# ASAN_OPTIONS=alloc_dealloc_mismatch=0 ASAN_OPTIONS=detect_leaks=0 ./$(NAME) $(filter-out $@,$(MAKECMDGOALS))
|
|
ASAN_OPTIONS=alloc_dealloc_mismatch=0 ./$(NAME) $(filter-out $@,$(MAKECMDGOALS))
|
|
|
|
-include $(OBJ:%.o=%.d)
|
|
|
|
.PHONY: all clean fclean re
|