SHELL = bash NAME = ft_ping CC = clang OBJSDIR = obj/ SRCS = $(shell find . -name '*.cpp') OBJS = $(addprefix $(OBJSDIR), $(SRCS:.cpp=.o)) FLAGS = -Wall -Werror -Wextra -MMD -MP -g RED = \033[0;31m GREEN = \033[0;32m YELLOW = \033[1;33m PURPLE = \e[0;35m NC = \033[0m DELETE = \x1B[2K\r ifeq ($(VERBOSE),true) FLAGS += -D VERBOSE endif all: $(NAME) $(NAME): $(OBJS) @$(CC) $(FLAGS) -I . $(OBJS) -o $(NAME) @printf "$(YELLOW)「✨」($(NAME)) Program compiled\n" $(OBJSDIR)%.o: %.cpp @mkdir -p $(@D) @$(CC) $(FLAGS) -I . -c $< -o $@ @printf "$(DELETE)$(GREEN)「🔨」($<) Object compiled\n" clean: @rm -f $(OBJS) @printf "$(DELETE)$(RED)「🗑️」($(OBJS)) Object deleted\n" fclean: clean @rm -f $(NAME) @rm -Rf $(OBJSDIR) @printf "$(RED)「🗑️」($(NAME)) Program deleted\n" re: fclean all .PHONY: clean fclean all re