Files
42_irc/Makefile
Kbz-8 488c0ad83c yes
2024-01-21 10:40:54 +01:00

59 lines
1.7 KiB
Makefile

# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: vavaas <vvaas@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2023/08/09 15:08:49 by vavaas #+# #+# #
# Updated: 2024/01/21 10:12:04 by maldavid ### ########.fr #
# #
# **************************************************************************** #
NAME = ircserv
SRCS = srcs/core/main.cpp \
srcs/core/logs.cpp \
srcs/core/server.cpp \
srcs/utils/ansi.cpp \
OBJ_DIR = objs
OBJS = $(addprefix $(OBJ_DIR)/, $(SRCS:.cpp=.o))
CXX = c++
CXXFLAGS = -std=c++98 -Wall -Wextra -Werror -I includes
DEBUG ?= false
MODE = "release"
ifeq ($(DEBUG), true)
CXXFLAGS += -g -D DEBUG
MODE = "debug"
endif
RM = rm -rf
$(OBJ_DIR)/%.o: %.cpp
@printf "\e[1;32m[compiling "$(MODE)" {"$(CXX)"}...]\e[1;00m "$<"\n"
@$(CXX) $(CXXFLAGS) $(COPTS) -c $< -o $@
all: $(NAME)
$(NAME): $(OBJ_DIR) $(OBJS)
@printf "\e[1;32m[linking "$(MODE)" {"$(CXX)"}...]\e[1;00m "$@"\n"
@$(CXX) -o $(NAME) $(OBJS)
@printf "\e[1;32m[build finished]\e[1;00m\n"
$(OBJ_DIR):
@mkdir -p $(sort $(addprefix $(OBJ_DIR)/, $(dir $(SRCS))))
clean:
@$(RM) $(OBJ_DIR)
fclean: clean
@$(RM) $(NAME)
re: fclean all
.PHONY: all clean fclean re