From add7f01e7d0c356a6fac14c444c0c6bc9d259902 Mon Sep 17 00:00:00 2001 From: Raphael Date: Thu, 11 Dec 2025 14:42:18 +0100 Subject: [PATCH] build: adding the project sub-makefile --- libft.mk | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 libft.mk diff --git a/libft.mk b/libft.mk new file mode 100644 index 0000000..8e825f9 --- /dev/null +++ b/libft.mk @@ -0,0 +1,72 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# libft.mk :+: :+: :+: # +# +:+ +:+ +:+ # +# By: rparodi +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2023/11/12 11:05:05 by rparodi #+# #+# # +# Updated: 2025/12/11 14:40:08 by rparodi ### ########.fr # +# # +# **************************************************************************** # + +NAME = libft.a +PROJECT = libft + +CC ?= clang +RM = rm -rf + +CFLAGS = -Werror -Wextra -Wall + +INC_DIR = includes/ +CPPFLAGS = $(addprefix -I, $(INC_DIR)) -MMD -MP + +OBJDIRNAME ?= ./build + +MAKE += --no-print-directory + +export CC CFLAGS CPPFLAGS INC_DIR OBJDIRNAME MAKE RM + +SUB_MAKEFILE = gnl/gnl.mk \ + char/char.mk \ + memory/memory.mk \ + print/print.mk \ + math/math.mk \ + list/list.mk \ + str/str.mk \ + convert/convert.mk + +GREEN = \033[32m +GREY = \033[0;90m +RED = \033[0;31m +GOLD = \033[38;5;220m +END = \033[0m + +all: + @printf '$(GREY) Compiling $(END)$(GOLD)$(PROJECT)$(END)\n' + @for PART in $(SUB_MAKEFILE); do \ + $(MAKE) -f $$PART all; \ + done + +clean: + @for PART in $(SUB_MAKEFILE); do \ + $(MAKE) -f $$PART clean; \ + done + @echo "" + +fclean: clean + @for PART in $(SUB_MAKEFILE); do \ + $(MAKE) -f $$PART fclean; \ + done + @echo "" + +re: fclean all + +$(NAME): $(OBJ) + @mkdir -p $(OBJDIRNAME) + @ar rc $(OBJDIRNAME)/$(NAME) $(OBJ) + @ranlib -M $(OBJDIRNAME)/$(NAME) + +.PHONY: all bonus clean fclean re + +-include $(OBJ:.o=.d)