mirror of
https://github.com/3lswear/webserv.git
synced 2025-10-29 05:17:59 +03:00
feat: add auto dependencies
This commit is contained in:
18
Makefile
18
Makefile
@@ -3,33 +3,33 @@ NAME = webserv
|
|||||||
CXX = clang++
|
CXX = clang++
|
||||||
|
|
||||||
SANFLAGS = -fsanitize=address
|
SANFLAGS = -fsanitize=address
|
||||||
|
|
||||||
# SANFLAGS = -fsanitize=leak
|
# SANFLAGS = -fsanitize=leak
|
||||||
|
|
||||||
CXXFLAGS = -Wall -Wextra -Werror -g -std=c++98 $(SANFLAGS)
|
CXXFLAGS = -Wall -Wextra -Werror -g -std=c++98 $(SANFLAGS)
|
||||||
|
|
||||||
|
CPPFLAGS += -MD -MP
|
||||||
|
|
||||||
SRC = $(wildcard ./src/*.cpp)
|
SRC = $(wildcard ./src/*.cpp)
|
||||||
SRC += $(wildcard ./src/*/*.cpp)
|
SRC += $(wildcard ./src/*/*.cpp)
|
||||||
|
|
||||||
HEADERS = $(wildcard ./includes/*.hpp)
|
|
||||||
HEADERS += $(wildcard src/Autoindex/*.hpp)
|
|
||||||
HEADERS += $(wildcard src/Header/*.hpp)
|
|
||||||
HEADERS += $(wildcard src/Server/*.hpp)
|
|
||||||
HEADERS += $(wildcard src/config/*.hpp)
|
|
||||||
|
|
||||||
INCLUDES = ./includes/ -I src/Autoindex -I src/config -I src/Header -I src/Server
|
INCLUDES = ./includes/ -I src/Autoindex -I src/config -I src/Header -I src/Server
|
||||||
|
|
||||||
OBJ = $(SRC:.cpp=.o)
|
OBJ = $(SRC:.cpp=.o)
|
||||||
|
|
||||||
all: $(NAME)
|
all: $(NAME)
|
||||||
|
|
||||||
$(OBJ): %.o: %.cpp $(SRC) $(HEADERS) Makefile
|
$(OBJ): %.o: %.cpp $(SRC) Makefile
|
||||||
$(CXX) $(CXXFLAGS) -c $< -I $(INCLUDES) -o $@
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -I $(INCLUDES) -o $@
|
||||||
|
|
||||||
$(NAME): $(OBJ) $(HEADERS)
|
-include $(SRC:%.cpp=%.d)
|
||||||
|
|
||||||
|
$(NAME): $(OBJ)
|
||||||
$(CXX) $(CXXFLAGS) $(OBJ) -o $(NAME)
|
$(CXX) $(CXXFLAGS) $(OBJ) -o $(NAME)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) $(OBJ)
|
$(RM) $(OBJ)
|
||||||
|
$(RM) $(SRC:.cpp=.d)
|
||||||
|
|
||||||
fclean: clean
|
fclean: clean
|
||||||
$(RM) $(NAME)
|
$(RM) $(NAME)
|
||||||
|
|||||||
Reference in New Issue
Block a user