-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
67 lines (56 loc) · 2.28 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: phelebra <xhelp00@gmail.com> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2023/06/10 16:55:23 by jbartosi #+# #+# #
# Updated: 2023/10/16 16:05:07 by phelebra ### ########.fr #
# #
# **************************************************************************** #
NAME = cub3d
CFLAGS = -Wall -Wextra -Werror -g #fsanitize=address
LIBFT = Libft
MLX = minilibx
UNAME_S := $(shell uname -s)
SRC = action.c baby_nerve_leech.c cast_door.c cast_enemy.c cast_floor.c \
cast_init.c cast_item.c cast_obj.c cast_sprite.c cast_stripe.c \
cast_util.c cast_wall.c collision.c dda.c draw_image.c enemy_dir.c \
enemy_move.c extract_color.c find_seg.c graphics.c handle_dir.c hit.c \
hook_handle.c hud.c init_general.c init_sprite.c init_texture.c \
item_move.c \
items_a.c items_n.c keyhook.c main.c map_file.c menu.c minimap.c \
movement.c parser.c process_map.c redraw.c remove_seg.c reset_vals.c \
sort.c sound.c sprite_move.c tear_larry_isaac.c free_stuff.c
OBJ = $(SRC:.c=.o)
ifeq ($(UNAME_S),Linux)
MLX_FLAGS = -lft -lmlx -lXext -lX11 -lm
CFLAGS += -fPIE
LDFLAGS += -pie
endif
ifeq ($(UNAME_S),Darwin)
MLX_FLAGS = -lm -lglfw -Iinclude -lft -lmlx -L/usr/X11/lib \
-L/Users/helebrant/.brew/Cellar/libx11/1.8.6/lib \
-L/Users/helebrant/.brew/Cellar/libxext/1.3.5/lib \
-lX11 -lXext -lstdc++ -framework OpenGL -framework AppKit
CFLAGS +=
LDFLAGS +=
endif
all: lib $(NAME)
lib:
@make -C $(LIBFT)
@make -C $(MLX)
@echo "Finished making libraries :D"
$(NAME): $(OBJ)
@cc $(CFLAGS) -L $(LIBFT) -L $(MLX) -o $@ $^ $(MLX_FLAGS)
clean:
@make clean -C $(LIBFT)
@rm -f $(OBJ)
fclean:
@rm -f $(OBJ)
@rm -f $(NAME)
@make fclean -C $(LIBFT)
re: fclean
@make all
.PHONY: re, fclean, clean