cpp02/ex00/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