CXX = c++ CXXFLAGS = -Wall -Wextra -Werror -std=c++98 OBJDIR = obj SOURCES = Main.cpp Bureaucrat.cpp AForm.cpp PresidentialPardonForm.cpp RobotomyRequestForm.cpp ShrubberyCreationForm.cpp intern.cpp OBJECTS = $(addprefix $(OBJDIR)/, $(SOURCES:.cpp=.o)) NAME = intern all: $(NAME) $(OBJDIR): @echo "๐Ÿ“ Creating obj directory..." @mkdir -p $(OBJDIR) $(OBJDIR)/%.o: %.cpp | $(OBJDIR) @echo "๐Ÿง  Compiling $< ..." @$(CXX) $(CXXFLAGS) -c $< -o $@ @echo "โœ… $@ ready!" $(NAME): $(OBJECTS) @echo "๐Ÿ”— Linking $(NAME) ..." @$(CXX) $(CXXFLAGS) $(OBJECTS) -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