NAME := so_long
CC = cc
-CFLAGS = -Wall -Wextra -Werror
-HEADERS = -Iinclude -Ilibft -Imlx
-LIBS = -Llibft -lft -lm -Lmlx -lmlx
-FRMWRKS = -framework OpenGL -framework AppKit
+CFLAGS = -Wall -Wextra -Werror -Wunreachable-code -Ofast
+HEADERS = -Iinclude -Ilibft -IMLX42/include
+LIBS = -Llibft -lft -lm -LMLX42/build -lmlx42 -ldl -lglfw -pthread
VPATH := src
SRC = main.c init.c loop.c input.c draw.c
all: $(NAME)
-$(NAME): $(OBJ) | libft mlx
- @$(CC) $(CFLAGS) $(HEADERS) $^ -o $@ $(LIBS) $(FRMWRKS)
+$(NAME): libmlx $(OBJ) | libft
+ @$(CC) $(CFLAGS) $(HEADERS) $^ -o $@ $(LIBS)
@echo "[$(NAME)] Created binary."
$(OBJ_DIR)/%.o: %.c
libft:
@make -C libft
-mlx:
- @make -C mlx
+libmlx:
+ @if [ ! -d "MLX42" ]; then \
+ git clone https://github.com/codam-coding-college/MLX42.git; \
+ fi
+ @cmake MLX42 -B MLX42/build && make -C MLX42/build -j4
clean:
@make -C libft clean
- @make -C mlx clean
+ @if [ -d "MLX42" ]; then \
+ rm -rf MLX42; \
+ echo "[$(NAME)] Removed MiniLibX."; \
+ fi
@if [ -d "$(OBJ_DIR)" ]; then \
rm -rf $(OBJ_DIR); \
echo "[$(NAME)] Removed object files."; \
re: fclean all
-.PHONY: all libft mlx clean fclean re
+.PHONY: all libft libmlx clean fclean re
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/05/08 14:14:02 by dkaiser #+# #+# */
-/* Updated: 2024/05/09 19:24:00 by dkaiser ### ########.fr */
+/* Updated: 2024/05/10 10:55:30 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
# define PLAYER_MOVE_SPEED 3
# include "libft.h"
-# include "mlx.h"
+# include "../MLX42/include/MLX42/MLX42.h"
enum e_direction
{