52 lines
1.6 KiB
Makefile
52 lines
1.6 KiB
Makefile
# **************************************************************************** #
|
|
# #
|
|
# ::: :::::::: #
|
|
# Makefile :+: :+: :+: #
|
|
# +:+ +:+ +:+ #
|
|
# By: lfirmin <lfirmin@student.42.fr> +#+ +:+ +#+ #
|
|
# +#+#+#+#+#+ +#+ #
|
|
# Created: 2025/07/01 13:54:05 by lfirmin #+# #+# #
|
|
# Updated: 2025/07/02 12:32:58 by lfirmin ### ########.fr #
|
|
# #
|
|
# **************************************************************************** #
|
|
|
|
C++ = c++
|
|
C++_FLAGS = -Wall -Wextra -Werror -std=c++98
|
|
OBJDIR = obj
|
|
INFILES = Main.cpp\
|
|
Fixed.cpp\
|
|
|
|
|
|
OBJFILES = $(addprefix $(OBJDIR)/, $(INFILES:.cpp=.o))
|
|
|
|
NAME = Fixed
|
|
|
|
all: $(NAME)
|
|
|
|
$(OBJDIR):
|
|
@echo "📁 Creating obj directory..."
|
|
@mkdir -p $(OBJDIR)
|
|
|
|
$(OBJDIR)/%.o: %.cpp | $(OBJDIR)
|
|
@echo "🧠 Compiling $< ..."
|
|
@$(C++) $(C++_FLAGS) -c $< -o $@
|
|
@echo "✅ $@ ready!"
|
|
|
|
$(NAME): $(OBJFILES)
|
|
@echo "🔗 Linking $(NAME) ..."
|
|
@$(C++) $(C++_FLAGS) $(OBJFILES) -o $(NAME)
|
|
@echo "🎉 $(NAME) is ready !"
|
|
|
|
clean:
|
|
@echo "🧹 Cleaning object files..."
|
|
@rm -rf $(OBJDIR)
|
|
@echo "✨ Objects cleaned!"
|
|
|
|
fclean: clean
|
|
@echo "🗑️ Removing $(NAME)..."
|
|
@rm -f $(NAME)
|
|
@echo "💀 Full clean complete!"
|
|
|
|
re: fclean all
|
|
|
|
.PHONY: all clean fclean re |