Makefile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #******************************************************************************#
  2. # #
  3. # ::: :::::::: #
  4. # Makefile :+: :+: :+: #
  5. # +:+ +:+ +:+ #
  6. # By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ #
  7. # +#+#+#+#+#+ +#+ #
  8. # Created: 2016/07/24 00:00:08 by bchanot #+# #+# #
  9. #* Updated: 2025/07/15 14:44:55 by bchanot ### ########.fr *#
  10. # #
  11. #******************************************************************************#
  12. NAME = ex00
  13. MAKE_LIBS = make --no-print-directory
  14. SRCS_DIR = srcs/
  15. OBJS_DIR = .objects/
  16. CC = g++ -Wall -Wextra -Werror -g
  17. INC = -I./includes
  18. FILES = main Zombie zombieHorde randomChump newZombie
  19. SRCS = $(FILES)
  20. OBJS = $(addprefix $(OBJS_DIR), $(addsuffix .o, $(SRCS)))
  21. RED = \033[1;31m
  22. BLUE = \033[1;34m
  23. CYAN = \033[0;36m
  24. GREEN = \033[1;32m
  25. YELLOW = \033[1;33m
  26. EOC = \033[0m
  27. all: $(NAME)
  28. $(NAME): $(OBJS)
  29. @echo -e "$(GREEN)Objects created.$(EOC)"
  30. @$(CC) $(OBJS) $(INC) -o $(NAME)
  31. @echo -e "$(GREEN)Compilation complete.$(EOC)"
  32. $(OBJS_DIR)%.o: $(SRCS_DIR)%.cpp
  33. @mkdir -p $(dir $@)
  34. $(CC) -c $< $(INC) -o $@
  35. clean:
  36. @echo -e "$(RED)Deleting objects.$(EOC)"
  37. @/bin/rm -rf $(OBJS_DIR)
  38. fclean: clean
  39. @echo -e "$(RED)Deleting binary.$(EOC)"
  40. @/bin/rm -rf $(NAME)
  41. re: fclean all
  42. .PHONY: all clean fclean re