summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile62
1 files changed, 62 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..8b60c8a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,62 @@
+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)