Files
42_INT_10_cube3d/libs/libft/testing/Makefile
2022-05-04 14:38:34 +02:00

155 lines
3.0 KiB
Makefile

# - - - - - - - - - - - - - - # name = value \
# variables names # value
# - - - - - - - - - - - - - - # ! name is case sensitive
NAME = libftest
CC = gcc
VPATH = srcs
DEPS = ../includes/libft.h \
./includes/libftest.h
IDIR = $(dir $(DEPS))
# $(dir PATH/TO/FILE) expands to "PATH/TO/" -> the directory of a file
LDIR = ../
_LIBS = libft.a
LIBS = $(_LIBS:lib%.a=%)
SRCS = main.c \
test_memset.c \
test_bzero.c \
test_memcpy.c \
test_memccpy.c \
test_memmove.c \
test_memchr.c \
test_memcmp.c \
test_strlen.c \
test_isalpha.c \
test_isdigit.c \
test_isalnum.c \
test_isascii.c \
test_isprint.c \
test_toupper.c \
test_tolower.c \
test_strchr.c \
test_strrchr.c \
test_strchrset.c \
test_strncmp.c \
test_strlcpy.c \
test_strlcat.c \
test_strnstr.c \
test_atoi.c \
test_calloc.c \
test_strdup.c \
test_substr.c \
test_strjoin.c \
test_strtrim.c \
test_split.c \
test_itoa.c \
test_utoa.c \
test_strmapi.c \
test_putchar_fd.c \
test_putstr_fd.c \
test_putendl_fd.c \
test_putnbr_fd.c \
test_lstnew.c \
test_lstadd_front.c \
test_lstsize.c \
test_lstlast.c \
test_lstadd_back.c \
test_lstdelone.c \
test_lstclear.c \
test_lstiter.c \
test_lstmap.c \
test_strcat.c \
test_strcmp.c \
test_strcpy.c \
test_strncat.c \
test_strncpy.c \
test_strstr.c \
test_strjoinfree.c \
test_strclr.c \
test_strdel.c \
test_strequ.c \
test_striter.c \
test_striteri.c \
test_strmap.c \
test_strnequ.c \
test_strnew.c \
test_memalloc.c \
test_memdel.c \
test_putchar.c \
test_putendl.c \
test_putnbr.c \
test_putnbrendl.c \
test_putnbrendl_fd.c \
test_putnbrbase.c \
test_putstr.c \
test_any.c \
test_atoibase.c \
test_convertbase.c \
test_convertbase_free.c \
test_foreach.c \
test_issort.c \
test_arraymap.c \
test_strmultisplit.c \
test_gnl.c \
test_concat_free.c \
test_printf.c \
test_abs.c \
test_greater.c \
test_smaller.c \
test_sign.c \
test_sqrt.c
ODIR = ./builds
OBJS = $(SRCS:%.c=$(ODIR)/%.o)
CFLAGS = $(IDIR:%=-I%)
# flag -g generates debug informations, g3 is maximal version
CFLAGS += -g3 -Wall -Wextra -Werror
LFLAGS = -L$(LDIR) -l$(LIBS)
# - - - - - - - - - - - - - - # target: prerequisites | $@ : target
# rules to execute # recipe | $< : 1st prerequisite
# - - - - - - - - - - - - - - # recipe | $^ : all prerequisites
all: $(NAME)
$(NAME): $(ODIR) $(OBJS) $(DEPS)
make -C $(LDIR)
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LFLAGS)
$(ODIR):
mkdir -p $@
$(ODIR)/%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
debug: CFLAGS += -fsanitize=address
debug: clean $(NAME)
leaks: $(NAME)
valgrind --leak-check=full --show-leak-kinds=all ./$(NAME) maps/42_color.fdf
clean:
/bin/rm -f $(OBJS) $(OBJS_B)
fclean: clean
/bin/rm -rf $(ODIR)
/bin/rm -f $(NAME)
/bin/rm -rf a.out a.out.dSYM
libfclean:
make fclean -C $(LDIR)
re: fclean all
relib: libfclean re
.PHONY: all clean fclean re gcc