Makefile 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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: 2016/11/08 16:43:14 by bchanot ### ########.fr *#
  10. # #
  11. #******************************************************************************#
  12. NAME = ft_select
  13. FILES = main.c sl_loop.c sl_take_inf.c sl_screen.c sl_signal.c
  14. SRC = $(addprefix srcs/, $(FILES))
  15. FOBJ = $(SRC:srcs/%.c=%.o)
  16. OBJ = $(addprefix .objects/, $(FOBJ))
  17. FLAGS = -Wall -Werror -Wextra
  18. LIB = -L./libft -lft
  19. INC = -I./includes -I./libft/includes
  20. NO_COLOR = \x1b[0m
  21. OK_COLOR = \x1b[32;01m
  22. ERROR_COLOR = \x1b[31;01m
  23. WARN_COLOR = \x1b[33;01m
  24. all: $(NAME)
  25. $(NAME): disp lib
  26. @echo "\t---COMPILING OBJECTS---"
  27. @clang $(FLAGS) -c $(SRC) $(INC)
  28. @mkdir -p .objects && mv $(FOBJ) .objects
  29. @echo "$(OK_COLOR)\t---OBJECTS CREATED---$(NO_COLOR)"
  30. @echo "\t---COMPILING EXECUTABLE---"
  31. @clang $(FLAGS) -ltermcap -o $(NAME) $(INC) $(OBJ) $(LIB)
  32. @echo "$(OK_COLOR)\t---EXECUTABLE CREATED---"
  33. @echo "---COMPILATION COMPLETE---$(NO_COLOR)"
  34. disp:
  35. @echo "$(WARN_COLOR)---PLEASE-WAIT---COMPILING--- $(NO_COLOR)"
  36. lib:
  37. @echo "\t---CHECKING LIBRARY---"
  38. @make -C libft
  39. @echo "$(OK_COLOR)\t---LIBRARY UP TO DATE---$(NO_COLOR)"
  40. clean:
  41. @/bin/rm -rf .objects
  42. @make clean -C libft/
  43. @echo "$(OK_COLOR)---OBJECTS DELETED---$(NO_COLOR)"
  44. fclean: clean
  45. @/bin/rm -rf $(NAME)
  46. @make fclean -C libft/
  47. @echo "$(OK_COLOR)---BINARY DELETED---$(NO_COLOR)"
  48. re: fclean all