79 lines
1.2 KiB
Makefile
79 lines
1.2 KiB
Makefile
# - - - - - - - - - #
|
|
# 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 -g3
|
|
|
|
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
|