initial commit
This commit is contained in:
55
Makefile
Normal file
55
Makefile
Normal file
@@ -0,0 +1,55 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# Makefile :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: vvaas <vvaas@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2023/08/09 15:08:49 by vvaas #+# #+# #
|
||||
# Updated: 2023/11/29 16:17:31 by vvaas ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
NAME = ircserv
|
||||
|
||||
SRCS = srcs/main.cpp \
|
||||
|
||||
OBJ_DIR = objs
|
||||
OBJS = $(addprefix $(OBJ_DIR)/, $(SRCS:.cpp=.o))
|
||||
|
||||
CC = c++
|
||||
CFLAGS = -std=c++98 -Wall -Wextra -Werror
|
||||
|
||||
DEBUG ?= false
|
||||
MODE = "release"
|
||||
|
||||
ifeq ($(DEBUG), true)
|
||||
CFLAGS += -g -D DEBUG
|
||||
MODE = "debug"
|
||||
endif
|
||||
|
||||
RM = rm -rf
|
||||
|
||||
$(OBJ_DIR)/%.o: %.cpp
|
||||
@echo "\e[1;32m[compiling "$(MODE)" {"$(CC)"}...]\e[1;00m "$<
|
||||
@$(CC) $(CFLAGS) $(COPTS) -c $< -o $@
|
||||
|
||||
all: $(NAME)
|
||||
|
||||
$(NAME): $(OBJ_DIR) $(OBJS)
|
||||
@echo "\e[1;32m[linking "$(MODE)" {"$(CC)"}...]\e[1;00m "$@
|
||||
@$(CC) -o $(NAME) $(OBJS)
|
||||
@echo "\e[1;32m[build finished]\e[1;00m"
|
||||
|
||||
$(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
|
||||
Reference in New Issue
Block a user