NAME=libft.a CC=cc CFLAGS=-Wall -Wextra -Werror SRC_FILES = ft_atoi.c \ ft_bzero.c \ ft_calloc.c \ ft_isalnum.c \ ft_isalpha.c \ ft_isascii.c \ ft_isdigit.c \ ft_isprint.c \ ft_itoa.c \ ft_memchr.c \ ft_memcmp.c \ ft_memcpy.c \ ft_memmove.c \ ft_memset.c \ ft_putchar_fd.c \ ft_putendl_fd.c \ ft_putnbr_fd.c \ ft_putstr_fd.c \ ft_split.c \ ft_strchr.c \ ft_strdup.c \ ft_striteri.c \ ft_strjoin.c \ ft_strlcat.c \ ft_strlcpy.c \ ft_strlen.c \ ft_strmapi.c \ ft_strncmp.c \ ft_strnstr.c \ ft_strrchr.c \ ft_strtrim.c \ ft_substr.c \ ft_tolower.c \ ft_toupper.c \ ft_printf.c \ ft_printnbr.c \ ft_printhex.c \ ft_printaddr.c \ get_next_line.c \ get_next_line_utils.c \ ft_atol.c \ ft_lstnew_bonus.c \ ft_lstadd_front_bonus.c \ ft_lstsize_bonus.c \ ft_lstlast_bonus.c \ ft_lstadd_back_bonus.c \ ft_lstdelone_bonus.c \ ft_lstclear_bonus.c \ ft_lstiter_bonus.c \ ft_lstmap_bonus.c OBJ_FILES = $(SRC_FILES:.c=.o) all: $(NAME) $(NAME): $(OBJ_FILES) @ar rcs $(NAME) $(OBJ_FILES) @echo "[$(NAME)] Created archive." %.o:%.c @$(CC) $(CFLAGS) -c -o $@ $< @echo "[$(NAME)] Compiled $<." clean: @$(foreach file, $(OBJ_FILES), test -f $(file) && rm $(file) && echo "[$(NAME)] Removed $(file)." || :;) fclean: clean @test -f $(NAME) && rm -f $(NAME) && echo "[$(NAME)] Removed archive." || : re: fclean all .PHONY: all clean fclean re