# - - - - - - - - - # # variables names # # - - - - - - - - - # NAME = libft.a CC = gcc VPATH = srcs/ IDIR = ./includes _DEP = libft.h DEPS = $(_DEP:%.h=$(IDIR)/%.h) CFLAGS = -I$(IDIR) CFLAGS += -Wall -Wextra -Werror SRCS = \ ft_bzero.c \ ft_memalloc.c \ ft_strlen.c \ ft_strrchr.c \ ft_strchr.c \ ft_strnstr.c \ ft_strdup.c \ ft_strcmp.c \ ft_substr.c \ ft_split.c \ ft_atoi.c \ ft_putchar_fd.c \ ft_putnbr_fd.c \ ft_putstr_fd.c \ ft_lstcreate.c \ ft_lsterase.c \ ft_lstfind.c \ ft_lstfree.c \ ft_lstpush_back.c \ ft_sign.c \ ft_abs.c \ ft_arrint.c ODIR = ./builds OBJS = $(SRCS:%.c=$(ODIR)/%.o) # - - - - - - - - - - - # # rules to execute # # - - - - - - - - - - - # all: $(NAME) $(ODIR): @printf "\033[35m" mkdir -p $(ODIR) @printf "\033[0m" $(NAME): $(ODIR) $(OBJS) $(DEPS) @printf "\033[33m" ar -rc $@ $(OBJS) ranlib $@ @printf "\033[0m" $(ODIR)/%.o: %.c @printf "\033[36m" $(CC) $(CFLAGS) -c -o $@ $< clean: @printf "\033[31m" /bin/rm -rf $(ODIR) @printf "\033[0m" fclean: clean @printf "\033[31m" /bin/rm -f $(NAME) @printf "\033[0m" re: fclean all .PHONY: clean fclean re all