-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
65 lines (56 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: mpauw <[email protected]> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2017/12/06 17:41:17 by mpauw #+# #+# #
# Updated: 2017/12/15 16:03:10 by mpauw ### ########.fr #
# #
# **************************************************************************** #
NAME = fractol
FLAGS = -Wall -Wextra -Werror
INCLUDES = fractol.h
SRCS = fractol.c \
functions.c \
get_fractal.c \
window_control.c \
zoom_control.c \
image_functions.c \
setup_event.c \
mouse_event.c \
put_coordinates.c
OBJ = $(SRCS:%.c=%.o)
LFTDIR = libft/
#
# Use other $LMLXDIR by (un)commenting the following two lines
# if the project does not compile.
#
#LMLXDIR = minilibx_macos/
LMLXDIR = mlx_macbook/
LIBFT = libft.a
LIBMLX = libmlx.a
FT = ft
MLX = mlx
MAKE = make
FRAMEWORK = -framework OpenGL -framework AppKit
all : $(NAME)
$(NAME): $(OBJ) $(LFTDIR)$(LIBFT) $(LMLXDIR)$(LIBMLX)
-@gcc $(FLAGS) -o $(NAME) -g $(OBJ) -I$(LFTDIR) -L$(LFTDIR) -l$(FT) \
-I$(LMLXDIR) -L$(LMLXDIR) -l$(MLX) $(FRAMEWORK)
-@echo "Fractol Ready"
%.o: %.c $(INCLUDES)
-@gcc $(FLAGS) -I$(LFTDIR) -I$(LMLXDIR) -c $(SRCS)
$(LFTDIR)$(LIBFT):
$(MAKE) -C $(LFTDIR) $(LIBFT)
$(LMLXDIR)$(LIBMLX):
$(MAKE) -C $(LMLXDIR) $(LIBMLX)
clean:
-@/bin/rm -f $(OBJ)
-@$(MAKE) -C $(LFTDIR) clean
-@$(MAKE) -C $(LMLXDIR) clean
fclean: clean
-@/bin/rm -f $(NAME)
-@$(MAKE) -C $(LFTDIR) fclean
re: fclean all