89 lines
1.3 KiB
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
|
|
|