103 lines
1.8 KiB
Makefile
103 lines
1.8 KiB
Makefile
CC = cc
|
|
|
|
AR = ar
|
|
|
|
ARFLAGS = rc
|
|
|
|
HEADER = libft.h
|
|
|
|
CFLAGS = -Wall -Wextra -Werror
|
|
|
|
NAME = libft.a
|
|
|
|
SRC = ft_isalpha.c \
|
|
ft_isdigit.c \
|
|
ft_isalnum.c \
|
|
ft_isascii.c \
|
|
ft_isprint.c \
|
|
ft_strlen.c \
|
|
ft_memset.c \
|
|
ft_bzero.c \
|
|
ft_memcpy.c \
|
|
ft_memmove.c \
|
|
ft_strlcpy.c \
|
|
ft_strlcat.c \
|
|
ft_toupper.c \
|
|
ft_tolower.c \
|
|
ft_strchr.c \
|
|
ft_strrchr.c \
|
|
ft_strncmp.c \
|
|
ft_memcmp.c \
|
|
ft_memchr.c \
|
|
ft_strnstr.c \
|
|
ft_atoi.c \
|
|
ft_calloc.c \
|
|
ft_strdup.c \
|
|
ft_substr.c \
|
|
ft_strjoin.c \
|
|
ft_strtrim.c \
|
|
ft_split.c \
|
|
ft_itoa.c \
|
|
ft_strmapi.c \
|
|
ft_striteri.c \
|
|
ft_putchar_fd.c \
|
|
ft_putstr_fd.c \
|
|
ft_putendl_fd.c \
|
|
ft_putnbr_fd.c
|
|
|
|
BONUS_SRC = 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 = $(SRC:.c=.o)
|
|
|
|
BONUS_OBJ = $(BONUS_SRC:.c=.o)
|
|
|
|
DEP = $(SRC:.c=.d)
|
|
|
|
BONUS_DEP = $(BONUS_SRC:.c=.d)
|
|
|
|
ALL_SRC = $(SRC) $(BONUS_SRC)
|
|
|
|
ALL_OBJ = $(OBJ) $(BONUS_OBJ)
|
|
|
|
ALL_DEP = $(DEP) $(BONUS_DEP)
|
|
|
|
|
|
%.o: %.c
|
|
$(CC) -o $@ -c $< $(CFLAGS) -I$(HEADER)
|
|
|
|
%.d: %.c
|
|
@set -e; rm -f $@; \
|
|
$(CC) -M $(CFLAGS) $< > $@.$$$$; \
|
|
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
|
rm -f $@.$$$$
|
|
|
|
$(NAME): $(OBJ) $(DEP)
|
|
$(AR) $(ARFLAGS) $(NAME) $(OBJ)
|
|
ranlib $(NAME)
|
|
|
|
all: $(NAME)
|
|
|
|
bonus: $(ALL_OBJ) $(ALL_DEP)
|
|
$(AR) $(ARFLAGS) $(NAME) $(OBJ) $(BONUS_OBJ)
|
|
ranlib $(NAME)
|
|
|
|
clean:
|
|
rm -f $(OBJ) $(BONUS_OBJ)
|
|
|
|
fclean: clean
|
|
rm -f $(NAME)
|
|
|
|
re: fclean all
|
|
|
|
-include $(ALL_DEP)
|
|
|
|
.PHONY: all clean fclean re bonus
|