Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. NAME := wolf3d
  2. NPWD := $(CURDIR)/$(NAME)
  3.  
  4. CC := gcc -march=native -mtune=native -flto -Ofast -pipe
  5. CC_DEBUG := gcc -march=native -mtune=native -g3
  6. CFLAGS := -Wall -Wextra -Werror -Wunused
  7. IFLAGS := -I $(CURDIR)/includes/ -I $(CURDIR)/utils/libft/includes
  8. LIBSINC :=
  9. LIBS :=
  10. GNL_DIR = $(addprefix ./utils/gnl/, $(GNL))
  11. GNL = get_next_line.c
  12.  
  13. UNAME_S := $(shell uname -s)
  14. ifeq ($(UNAME_S),Darwin)
  15. LIBSINC += -I ~/.brew/include
  16. LIBS += -L ~/.brew/lib -rpath ~/.brew/lib
  17. endif
  18. LIBS += -F ~/Library/Frameworks -framework SDL2 -F frameworks/ -framework SDL2_mixer
  19.  
  20. SRC := srcs/main.c \
  21. srcs/color.c \
  22. srcs/functions.c \
  23. srcs/reader.c \
  24. srcs/sounds.c \
  25. srcs/time.c \
  26. srcs/controlls/controls.c \
  27. srcs/controlls/key.c \
  28. srcs/controlls/movements.c \
  29. srcs/init/init_adv.c \
  30. srcs/init/init.c \
  31. srcs/loader/assets_loader.c \
  32. srcs/loader/errors.c \
  33. srcs/loader/options.c \
  34. srcs/loader/tga_reader.c \
  35. srcs/render/draw_adv.c \
  36. srcs/render/draw.c \
  37. srcs/render/image.c \
  38. srcs/render/render.c \
  39. srcs/ui/draw_ui.c \
  40. srcs/ui/menu.c \
  41. srcs/ui/ui.c \
  42. srcs/weapon/riffle_fraps.c \
  43. srcs/weapon/riffle.c
  44.  
  45. OBJ := $(SRC:.c=.o)
  46. OBJS = $(addprefix $(OBJ_DIR)/,$(SRCS:.c=.o))
  47. OBJ_DIR = objs
  48.  
  49. LIBFT := $(CURDIR)/utils/libft/libft.a
  50. LMAKE := make -sC utils/libft
  51.  
  52. DEL := rm -rf
  53.  
  54. WHITE := \033[0m
  55. BGREEN := \033[42m
  56. GREEN := \033[32m
  57. RED := \033[31m
  58. INVERT := \033[7m
  59.  
  60. SUCCESS := [$(GREEN)✓$(WHITE)]
  61. SUCCESS2 := [$(INVERT)$(GREEN)✓$(WHITE)]
  62.  
  63. all: $(NAME)
  64.  
  65. $(OBJ): %.o: %.c
  66. @echo -n ' $@: '
  67. @$(CC) -c $(CFLAGS) $(LIBSINC) $(IFLAGS) $< -o $@
  68. @echo "$(SUCCESS)"
  69.  
  70. $(LIBFT):
  71. @$(LMAKE)
  72.  
  73. $(NAME): $(LIBFT) $(OBJ)
  74. @echo -n ' <q.p> | $(NPWD): '
  75. @$(CC) $(OBJ) $(LIBS) $(GNL_DIR) $(LIBFT) -o $(NAME)
  76. @mkdir -p $(OBJ_DIR) && mv $(SRC:.c=.o) $(OBJ_DIR)
  77. @echo "$(SUCCESS2)"
  78.  
  79. del:
  80. @$(DEL) $(OBJ)
  81. @$(DEL) $(NAME)
  82.  
  83. pre: del all
  84. @echo "$(INVERT)$(GREEN)Successed re-build.$(WHITE)"
  85.  
  86. $(CC_DEBUG):
  87. @$(eval CC=$(CC_DEBUG))
  88. debug_all: $(CC_DEBUG) pre
  89. @echo "$(INVERT)$(NAME) $(GREEN)ready for debug.$(WHITE)"
  90. debug: $(CC_DEBUG) all
  91. @echo "$(INVERT)$(NAME) $(GREEN)ready for debug.$(WHITE)"
  92.  
  93. clean:
  94. @$(DEL) $(OBJ) $(OBJ_DIR)
  95. @$(LMAKE) clean
  96.  
  97. fclean: clean
  98. @$(LMAKE) fclean
  99. @$(DEL) $(NAME)
  100. @echo "$(INVERT)$(RED)deleted$(WHITE)$(INVERT): $(NPWD)$(WHITE)"
  101.  
  102. re: fclean all
  103.  
  104. .PHONY: all fclean clean re pre debug debug_all set_cc_debug
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement