diff options
| author | Dominik Kaiser | 2024-05-08 14:35:09 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2024-05-08 14:35:09 +0200 |
| commit | be271413ef350cab23a31aae1d85c2948cc9c14f (patch) | |
| tree | 2ef05a7cb580ab17956a188817b33d56ea1a84dc /Makefile | |
| parent | 901f48ce164e9a74197ded5e52c43b1f45453f43 (diff) | |
| download | so_long-be271413ef350cab23a31aae1d85c2948cc9c14f.tar.gz so_long-be271413ef350cab23a31aae1d85c2948cc9c14f.zip | |
Setup Makefile
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 47 |
1 files changed, 47 insertions, 0 deletions
@@ -0,0 +1,47 @@ +NAME := so_long + +CC = cc +CFLAGS = -Wall -Wextra -Werror +HEADERS = -Iinclude -Ilibft +LIBS = -Llibft -lft + +VPATH := src +SRC = main.c + +OBJ_DIR := obj +OBJ := $(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o)) + + +all: $(NAME) + +$(NAME): $(OBJ) | libft + @$(CC) $(CFLAGS) $(HEADERS) $^ -o $@ $(LIBS) + @echo "[$(NAME)] Created binary." + +$(OBJ_DIR)/%.o: %.c + @if [ ! -d "$(OBJ_DIR)" ]; then \ + mkdir $(OBJ_DIR); \ + fi + @$(CC) $(CFLAGS) $(HEADERS) -c $< -o $@ + @echo "[$(NAME)] Compiled $<." + +libft: + @make -C libft + +clean: + @make -C libft clean + @if [ -d "$(OBJ_DIR)" ]; then \ + rm -rf $(OBJ_DIR); \ + echo "[$(NAME)] Removed object files."; \ + fi + +fclean: clean + @make -C libft fclean + @if [ -f "$(NAME)" ]; then \ + rm -f $(NAME); \ + echo "[$(NAME)] Removed binary."; \ + fi + +re: fclean all + +.PHONY: all libft clean fclean re |
