Files
42_INT_12_webserv/Makefile

89 lines
1.3 KiB
Makefile

## VARIABLES
#NAME = my_program
#VPATH = srcs
#CXX = c++
#CXXFLAGS = -I ./srcs
#OBJS = $(SRCS:%.cpp=%.o)
#
#MAIN = main.cpp
#SRCS = $(MAIN) Webserv.cpp
#
## RULES
#all: $(NAME)
#
#hugo: MAIN = main_hugo.cpp
#hugo: re
#
#$(NAME) : $(OBJS)
# $(CXX) $(OBJS) -o $(NAME)
#clean:
# rm -f $(OBJS)
#fclean: clean
# rm -f $(NAME)
#re: fclean all
#.PHONY : all clean fclean re
NAME = webserv
CXX = c++
CXXFLAGS = -Wall -Wextra -Werror
CXXFLAGS += -std=c++98
CXXFLAGS += -I$(HEADERS_D)
CXXFLAGS += -g
#CXXFLAGS += -O3
#SHELL = /bin/zsh
VPATH = $(DIR_SRCS)
DIR_SRCS = srcs
HEADERS_D = ./srcs
HEADERS = Webserv.hpp
DEPENDENCIES = $(HEADERS:%=$(HEADERS_D)/%)
SRCS = $(MAIN) Webserv.cpp
#MAIN = main.cpp
#MAIN = main_luke.cpp
#MAIN = main_hugo.cpp
#MAIN = main_poll.cpp
MAIN = main_select.cpp
DIR_OBJS = builds
OBJS = $(SRCS:%.cpp=$(DIR_OBJS)/%.o)
# --------------------
# ------ RULES -------
# --------------------
all: $(NAME)
luke: Webserv.cpp main_luke.cpp
luke: re
$(DIR_OBJS)/%.o: %.cpp | $(DIR_OBJS)
$(CXX) $(CXXFLAGS) -c $< -o $@
$(DIR_OBJS):
mkdir $@
$(OBJS): $(DEPENDENCIES)
#$(OBJS): $(DEPENDENCIES) Makefile
$(NAME) : $(OBJS)
$(CXX) $(OBJS) -o $(NAME)
clean:
rm -f $(OBJS)
fclean: clean
rm -f $(NAME)
re: fclean all
#run: all
.PHONY : all clean fclean re run