CC = cc CFLAGS = -Wall -Wextra -Werror LDFLAGS = AR = ar rcs RM = /bin/rm -f NAME = libft.a OBJDIR = . SRCDIR = . INCDIR = . unexport _SRC _SRC += ft_atoi.c _SRC += ft_bzero.c _SRC += ft_calloc.c _SRC += ft_isalnum.c _SRC += ft_isalpha.c _SRC += ft_isascii.c _SRC += ft_isdigit.c _SRC += ft_isprint.c _SRC += ft_memchr.c _SRC += ft_memcmp.c _SRC += ft_memcpy.c _SRC += ft_memmove.c _SRC += ft_memset.c _SRC += ft_strchr.c _SRC += ft_strdup.c _SRC += ft_strlcat.c _SRC += ft_strlcpy.c _SRC += ft_strlen.c _SRC += ft_strncmp.c _SRC += ft_strnstr.c _SRC += ft_strrchr.c _SRC += ft_tolower.c _SRC += ft_toupper.c # _SRC += ft_putchar_fd.c # _SRC += ft_putendl_fd.c # _SRC += ft_putnbr_fd.c # _SRC += ft_putstr_fd.c # _SRC += ft_itoa.c _SRC += ft_strtrim.c _SRC += ft_substr.c _SRC += ft_strjoin.c _SRC += ft_split.c # _SRC += ft_striteri.c # _SRC += ft_strmapi.c # _SRC += ft_lstadd_back.c # _SRC += ft_lstadd_front.c # _SRC += ft_lstclear # _SRC += ft_lstdelone.c # _SRC += ft_lstiter.c # _SRC += ft_lstlast.c # _SRC += ft_lstmap.c # _SRC += ft_lstnew.c # _SRC += ft_lstsize.c _SRC += ft_char_in_charset.c _SRC += ft_isspace.c unexport _DEPS _DEPS += libft.h _OBJ = $(_SRC:.c=.o) OBJ = $(addprefix $(OBJDIR)/,$(_OBJ)) SRC = $(addprefix $(SRCDIR)/,$(_SRC)) DEPS = $(addprefix $(INCDIR)/,$(_DEPS)) so: $(CC) -nostartfiles -fPIC $(CFLAGS) $(SRC) gcc -nostartfiles -shared -o libft.so $(OBJ) all: $(NAME) $(NAME): $(OBJ) $(AR) $@ $^ $(OBJDIR)/%.o: %c $(DEPS) $(CC) $(CFLAGS) -c -o $@ -I$(INCDIR) $< clean: $(RM) $(OBJ) fclean: clean $(RM) $(NAME) re: fclean all bonus: all .PHONY: re fclean clean all bonus