diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..68bb32e --- /dev/null +++ b/Makefile @@ -0,0 +1,60 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: adjoly +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2024/04/24 10:49:52 by adjoly #+# #+# # +# Updated: 2024/04/24 10:50:53 by adjoly ### ########.fr # +# # +# **************************************************************************** # + +NAME = minishell + +CC = cc + +OBJSDIR = obj/ + +SRCDIR = src/ + +SRC = $(find src -name '*.c') + +I_DIR = include/ + +LIBFT_DIR = libft/ + +INCLUDE = -I $(I_DIR) -I $(LIBFT_DIR) + +OBJS = $(addprefix $(OBJSDIR), $(SRC:.c=.o)) + +FLAGS = -Werror -Wall -Wextra -g + +LIB = libft/libft.a \ + +$(NAME): $(OBJS) + @make -s -C libft + @$(CC) $(FLAGS) $(OBJS) $(LIB) -o $(NAME) + @echo "[✔] Compiled" + +$(OBJSDIR)%.o: %.c + @mkdir -p $(@D) + @$(CC) $(INCLUDE) $(FLAGS) $< -c -o $@ + @echo "[✔] $< compiled" + +all: $(NAME) + +clean: + @make -s -C libft clean + @rm -f $(OBJS) + +fclean: clean + @make -s -C libft fclean + @rm -f $(NAME) + @rm -Rf $(OBJSDIR) + @echo "[X] Cleaned" + +re: fclean all + +.PHONY: clean all re fclean +