-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
83 lines (71 loc) · 1.98 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
NAME = minirt.a
CC=gcc
LFLAGS= -lft -lmlx_Linux -lXext -lX11 -lm -Llibft -Lminilibx-linux
CFLAGS= -Wall -Wextra -Werror
OBJ = ${SRCS:.c=.o}
SRCS = gnl/get_next_line.c \
gnl/get_next_line_utils.c \
gnl/get_next_line_utilsbis.c \
srcs/ft_atoi_rt.c \
srcs/ft_function_maths.c \
srcs/ft_image.c \
srcs/ft_parsing.c \
srcs/ft_parsing2.c \
srcs/ft_parsing3.c \
srcs/ft_parsing4.c \
srcs/ft_intersection_cylinder.c \
srcs/ft_rotation.c \
srcs/ft_sphere.c\
srcs/ft_triangle.c\
srcs/ft_square_plan.c \
srcs/ft_initialize.c\
srcs/ft_function_maths_2.c \
srcs/ft_function_maths_3.c \
srcs/ft_ombre.c \
srcs/ft_specular.c\
srcs/ft_scale_color.c\
srcs/ft_camera.c\
srcs/ft_intensity_colors.c\
srcs/ft_intensity_colors2.c\
srcs/ft_bitmap.c\
srcs/ft_mirror.c\
srcs/ft_clean.c\
srcs/ft_utils.c\
srcs/ft_key.c\
# COLORS
C_NO = "\033[00m"
C_OK = "\033[35m"
C_GOOD = "\033[32m"
C_ERROR = "\033[31m"
C_WARN = "\033[33m"
# DBG MESSAGE
SUCCESS = $(C_GOOD)SUCCESS$(C_NO)
OK = $(C_OK)OK$(C_NO)
all: $(NAME)
%.o: %.c
@$(CC) -Iincludes $(CFLAGS) -c $< -o $@
@echo "Linking" [ $< ] $(OK)
$(NAME): $(OBJ)
@make re -C libft/
@make re -C minilibx-linux/
@cp libft/libft.a ./$(NAME)
@cp minilibx-linux/libmlx.a ./$(NAME)
@ar rc $@ $^
@echo "Compiling & indexing" [ $(NAME) ] $(SUCCESS)
@$(CC) -Iincludes $(OBJ) $(LFLAGS) $(CFLAGS) main.c $(NAME) libft/libft.a minilibx-linux/libmlx.a -o miniRT
test :
@$(CC) -Iincludes $(OBJ) $(LFLAGS) $(CFLAGS) main.c $(NAME) libft/libft.a minilibx-linux/libmlx.a -o miniRT
leak :
@$(CC) -Iincludes $(OBJ) $(LFLAGS) $(CFLAGS) main.c $(NAME) libft/libft.a minilibx-linux/libmlx.a -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer -o leak
clean:
@/bin/rm -f $(OBJ)
@echo "Removed object files!\n"
fclean: clean
@/bin/rm -f $(NAME)
@/bin/rm -f miniRT
@/bin/rm -f leak
@make fclean -C libft/
@make clean -C minilibx-linux/
@echo "Cleaning" [ $(NAME) ] $(OK)
re: all test
.PHONY: all clean fclean re test