Files
42-libft/Makefile
2025-11-11 14:16:20 +01:00

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