-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
104 lines (82 loc) · 2.49 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: oelbouha <oelbouha@student.1337.ma> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2022/11/27 20:14:07 by ysalmi #+# #+# #
# Updated: 2023/06/22 15:57:48 by oelbouha ### ########.fr #
# #
# **************************************************************************** #
NAME := cub3D
CC := cc
CFLAGS := -Wall -Werror -Wextra
MLX_DIR := $(shell pwd)/minilibx
#MLXFLAGS := -lmlx -L$(MLX_DIR) -framework OpenGL -framework AppKit
MLXFLAGS := -lmlx -framework OpenGL -framework AppKit
I := -I./inc -I./libft/inc -I$(MLX_DIR) -I./gnline
LIBFT := libft/libft.a
GNLINE := gnline/gnline.a
MAP_PARSER := map_parser/parser.c \
map_parser/analyse_map.c
SRC := index.c \
init.c \
minimap.c \
scene.c \
event_handler.c \
raycaster.c \
canvas_utils.c \
draw_line.c \
debug_utils.c \
parser.c \
print.error.msg.c \
destroy.textures.c \
utils.c \
create.colors.c \
open.textures.c \
analyze.map.c \
init.player.c \
get.rectangle.map.c
OBJ := $(addprefix obj/,$(SRC:.c=.o))
N :=\x1b[0m
G :=\x1b[32;01m
R :=\x1b[31;01m
B :=\x1b[43;01m
O :=\x1b[33;01m
all: libmlx libft gnline $(NAME)
$(NAME): $(OBJ) $(LIBFT) $(GNLINE)
@$(CC) $(CFLAGS) $(MLXFLAGS) $I -o $@ $^
@echo "\n$O$(NAME)$N $Gcreated$N"
$(LIBFT): libft
libft:
@$(MAKE) -s -C libft
$(GNLINE): gnline
gnline:
@$(MAKE) -C gnline
libmlx:
@$(MAKE) -s -C $(MLX_DIR)
obj/%.o: src/%.c inc/cub3d.h
@mkdir -p $(shell dirname $@)
@echo "Compiling $B$<$N..."
@$(CC) $(CFLAGS) $I -c $< -o $@
clean:
@$(MAKE) -C gnline clean
@$(MAKE) -C libft clean
@echo "$RDeleting $(NAME) object files...$N"
@rm -rf obj
@echo "$RDone.$N\n"
fclean:
@$(MAKE) -C gnline fclean
@$(MAKE) -C libft fclean
@echo "$RDeleting $(NAME) object files...$N"
@rm -rf obj/
@echo "$RDone.$N\n"
@echo "$RDeleting $O$(NAME) and $(BONUS)$R..."
@rm -rf $(NAME)
@rm -rf $(BONUS)
@echo "$RDone.$N\n"
re: fclean all
clear:
clear
.PHONY: all clean fclean re clear libft gnline