NAME := cub3d CFLAGS := -Wextra -Wall -Werror -Wunreachable-code -Ofast LIBMLX := ./lib/mlx LIBFT := ./lib/libft LIBFT_A := $(LIBFT)/libft.a FTPRINTF := ./lib/ft_printf FT_PRINTF_A := ./lib/ft_printf/libftprintf.a HEADERS := -I ./include -I $(LIBMLX)/include -I $(LIBFT) -I $(FTPRINTF) LIBS := $(LIBMLX)/build/libmlx42.a $(LIBFT_A) $(FT_PRINTF_A) -ldl -lglfw -pthread -lm SRCS := $(shell find ./src -iname "*.c") OBJS := ${SRCS:.c=.o} all: libmlx libft ft_printf $(NAME) libmlx: @cmake $(LIBMLX) -B $(LIBMLX)/build && make -C $(LIBMLX)/build -j4 libft: @$(MAKE) -C $(LIBFT) bonus ft_printf: @$(MAKE) -C $(FTPRINTF) %.o: %.c @$(CC) $(CFLAGS) -o $@ -c $< $(HEADERS) && printf "Compiling: $(notdir $<)" $(NAME): $(OBJS) @$(CC) $(OBJS) $(LIBS) $(HEADERS) -o $(NAME) clean: @rm -rf $(OBJS) @rm -rf $(LIBMLX)/build @$(MAKE) -C $(LIBFT) clean @$(MAKE) -C $(FTPRINTF) clean fclean: clean @rm -rf $(NAME) @$(MAKE) -C $(LIBFT) fclean @$(MAKE) -C $(FTPRINTF) fclean re: fclean all .PHONY: all, clean, fclean, re, libmlx, libft, ft_printf