diff --git a/Makefile b/Makefile index 1666787..af4cf75 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,27 @@ -NAME = webserv -CXX = c++ +NAME = webserv +CXX = c++ -CXXFLAGS = -Wall -Wextra #-Werror -CXXFLAGS += -std=c++98 -CXXFLAGS += -I$(HEADERS_D) -CXXFLAGS += -g -#CXXFLAGS += -O3 +CXXFLAGS = -Wall -Wextra #-Werror +CXXFLAGS += $(HEADERS) +CXXFLAGS += -std=c++98 +CXXFLAGS += -g +CXXFLAGS += -MMD -MP #header dependencie +#CXXFLAGS += -O3 -#SHELL = /bin/zsh -VPATH = $(DIR_SRCS) -DIR_SRCS = srcs +#SHELL = /bin/zsh +VPATH = $(SRCS_D) -HEADERS_D = ./srcs -HEADERS = Webserv.hpp +HEADERS = $(HEADERS_D:%=-I%) +HEADERS_D = headers -DEPENDENCIES = $(HEADERS:%=$(HEADERS_D)/%) +SRCS_D = srcs +SRCS = main.cpp \ + Webserv.cpp -SRCS = main.cpp Webserv.cpp - -DIR_OBJS = builds -OBJS = $(SRCS:%.cpp=$(DIR_OBJS)/%.o) +OBJS_D = builds +OBJS = $(SRCS:%.cpp=$(OBJS_D)/%.o) +DEPS = $(OBJS:.o=.d) #header dependencie # -------------------- # ------ RULES ------- @@ -28,26 +29,24 @@ OBJS = $(SRCS:%.cpp=$(DIR_OBJS)/%.o) all: $(NAME) -$(DIR_OBJS)/%.o: %.cpp | $(DIR_OBJS) +$(OBJS_D)/%.o: %.cpp | $(OBJS_D) $(CXX) $(CXXFLAGS) -c $< -o $@ -$(DIR_OBJS): +$(OBJS_D): mkdir $@ -$(OBJS): $(DEPENDENCIES) -#$(OBJS): $(DEPENDENCIES) Makefile - -$(NAME) : $(OBJS) - $(CXX) $(OBJS) -o $(NAME) +$(NAME): $(OBJS) + $(CXX) $^ -o $(NAME) clean: - rm -f $(OBJS) + rm -rf $(OBJS_D) fclean: clean rm -f $(NAME) re: fclean all -#run: all +.PHONY : all clean fclean re + +-include $(DEPS) # header dependencie -.PHONY : all clean fclean re run