-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
46 lines (37 loc) · 1.21 KB
/
Makefile
File metadata and controls
46 lines (37 loc) · 1.21 KB
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
CFLAGS = -Wall -Wextra -Werror -MMD
NAME = so_long.a
SOURCES = ./srcs/map_init.c ./srcs/so_long.c ./srcs/check_map.c \
./srcs/utils.c ./srcs/check_route.c ./srcs/open_image.c \
./srcs/display_image.c ./srcs/move_player.c ./srcs/move_enemy.c main.c
# B_SOURCES = ./srcs_bonus/map_init_bonus.c ./srcs_bonus/so_long_bonus.c ./srcs_bonus/check_map_bonus.c \
# ./srcs_bonus/utils_bonus.c ./srcs_bonus/check_route_bonus.c ./srcs_bonus/open_image_bonus.c \
# ./srcs_bonus/display_image_bonus.c ./srcs_bonus/move_player_bonus.c ./srcs_bonus/move_enemy_bonus.c
OBJECT = $(SOURCES:.c=.o)
B_OBJECT = $(B_SOURCES:.c=.o)
ifdef WITH_BONUS
OBJECTS = $(B_OBJECT)
else
OBJECTS = $(OBJECT)
endif
all : $(NAME)
$(NAME) : $(OBJECTS)
make all -C ./libft
cp ./libft/libft.a ./$(NAME)
make all -C ./mlx 2> /dev/null
ar -rcs $@ $^
cc -Lmlx -lmlx -framework OpenGL -framework AppKit libft/libft.a so_long.a -o so_long
.c.o :
cc $(CFLAGS) -c $< -o $(<:.c=.o)
bonus :
make WITH_BONUS=1 all
clean :
rm -rf $(OBJECTS) $(OBJECTS:.o=.d)
make clean -C mlx
make clean -C libft
fclean : clean
rm -rf $(NAME) $(OBJECTS:.o=.d) ./libft/libft.a so_long.a so_long
re :
make fclean
make all
.PHONY : all clean fclean re
-include $(OBJECTS:.o=.d)