From 2d515c104c9e8bc3d2cc9d27c44fd3feb8945699 Mon Sep 17 00:00:00 2001 From: Thomas Vanbesien Date: Sun, 22 Feb 2026 12:02:28 +0100 Subject: Add NOMALLOC=1 flag to build library without malloc/free functions Split SRCS into SRCS_BASE (allocation-free) and SRCS_ALLOC (malloc/free-dependent). When NOMALLOC=1 is set, only SRCS_BASE is compiled, producing a library with no heap allocation dependencies. --- Makefile | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 38628dd..e70510d 100644 --- a/Makefile +++ b/Makefile @@ -8,19 +8,27 @@ LIBDIR = lib NAME = $(LIBDIR)/libft.a -SRCS = 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_memchr.c ft_memcmp.c ft_strncmp.c \ - ft_strlcpy.c ft_strlcat.c \ - ft_strchr.c ft_strrchr.c ft_strnstr.c ft_atoi.c \ - ft_calloc.c ft_strdup.c \ - ft_toupper.c ft_tolower.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 \ - ft_lstnew.c ft_lstadd_front.c ft_lstsize.c ft_lstlast.c \ - ft_lstadd_back.c ft_lstdelone.c ft_lstclear.c ft_lstiter.c \ - ft_lstmap.c +SRCS_BASE = 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_memchr.c ft_memcmp.c ft_strncmp.c \ + ft_strlcpy.c ft_strlcat.c \ + ft_strchr.c ft_strrchr.c ft_strnstr.c ft_atoi.c \ + ft_toupper.c ft_tolower.c \ + ft_striteri.c \ + ft_putchar_fd.c ft_putstr_fd.c ft_putendl_fd.c ft_putnbr_fd.c \ + ft_lstadd_front.c ft_lstsize.c ft_lstlast.c \ + ft_lstadd_back.c ft_lstiter.c + +SRCS_ALLOC = 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_lstnew.c ft_lstdelone.c ft_lstclear.c ft_lstmap.c + +ifdef NOMALLOC +SRCS = $(SRCS_BASE) +else +SRCS = $(SRCS_BASE) $(SRCS_ALLOC) +endif OBJS = $(SRCS:%.c=$(OBJDIR)/%.o) -- cgit v1.2.3