47 lines
1.6 KiB
Makefile
47 lines
1.6 KiB
Makefile
# **************************************************************************** #
|
|
# #
|
|
# ::: :::::::: #
|
|
# Makefile :+: :+: :+: #
|
|
# +:+ +:+ +:+ #
|
|
# By: lfirmin <lfirmin@student.42.fr> +#+ +:+ +#+ #
|
|
# +#+#+#+#+#+ +#+ #
|
|
# Created: 2025/07/01 13:54:05 by lfirmin #+# #+# #
|
|
# Updated: 2025/07/01 16:57:18 by lfirmin ### ########.fr #
|
|
# #
|
|
# **************************************************************************** #
|
|
|
|
CXX = c++
|
|
CXXFLAGS = -Wall -Wextra -Werror -std=c++98
|
|
OBJDIR = obj
|
|
SOURCES = main.cpp
|
|
OBJECTS = $(SOURCES:%.cpp=$(OBJDIR)/%.o)
|
|
NAME = brain
|
|
|
|
all: $(NAME)
|
|
|
|
$(OBJDIR):
|
|
@echo "📁 Creating obj directory..."
|
|
@mkdir -p $(OBJDIR)
|
|
|
|
$(OBJDIR)/%.o: %.cpp | $(OBJDIR)
|
|
@echo "🧠 Compiling $< ..."
|
|
@$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
$(NAME): $(OBJECTS)
|
|
@echo "🔗 Linking $(NAME) ..."
|
|
@$(CXX) $(CXXFLAGS) $(OBJECTS) -o $(NAME)
|
|
@echo "🎉 $(NAME) is ready to hunt brains!"
|
|
|
|
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 |