CC = gcc LD = gcc CFLAGS = -Wall -Wextra -Werror -MMD LDFLAGS = -Lminilibx -lmlx -Llibft -lft -lXext -lX11 -lm SRC := badeline.c game.c game_draw.c main.c map.c map_count.c map_draw.c \ map_get.c map_pathfind.c map_spawn.c map_verify.c player.c \ player_collect.c player_collide_badeline.c player_collide.c \ player_collide_exit.c player_erase.c readall.c sily.c sily_clear.c \ sily_draw_text.c sily_expose.c sily_input.c sprite.c spritesheet.c MSRC := sily_time.c BSRC := sily_time_bonus.c OBJ := $(patsubst %.c,%.o,$(SRC)) MOBJ := $(patsubst %.c,%.o,$(MSRC)) BOBJ := $(patsubst %.c,%.o,$(BSRC)) DEP := $(patsubst %.c,%.d,$(SRC) $(MSRC) $(BSRC)) NAME = so_long LIBS.A = minilibx/libmlx.a libft/libft.a all: $(NAME) bonus: $(NAME)_bonus $(NAME): $(LIBS.A) $(OBJ) $(MOBJ) $(LD) -o $(NAME) $(OBJ) $(MOBJ) $(LDFLAGS) $(NAME)_bonus: $(LIBS.A) $(OBJ) $(BOBJ) $(LD) -o $(NAME)_bonus $(OBJ) $(BOBJ) $(LDFLAGS) %.o: %.c minilibx/mlx.h $(CC) $(CFLAGS) -c -o $@ $< minilibx/mlx.h: rm -rf minilibx tar xvf minilibx.tgz mv minilibx-linux minilibx minilibx/libmlx.a: minilibx/mlx.h make -C minilibx libft/libft.a: make -C libft run: $(NAME) ./$(NAME) map.ber clean: rm -f $(OBJ) $(MOBJ) $(BOBJ) $(DEP) make -C libft clean rm -f minilibx/*.o fclean: rm -f $(OBJ) $(MOBJ) $(BOBJ) $(DEP) $(NAME) $(NAME)_bonus make -C libft fclean rm -rf minilibx re: make fclean make all .PHONY: all bonus run clean fclean re -include $(DEP)