# **************************************************************************** # # # # ::: :::::::: # # Makefile :+: :+: :+: # # +:+ +:+ +:+ # # By: sede-san /dev/null; \ fi @if [ -d $(GET_NEXT_LINE_PATH) ]; then \ $(MAKE) --silent -C $(GET_NEXT_LINE_PATH) fclean > /dev/null; \ fi @$(PRINT) "$(RED)$(EMOJI_BROOM) Binaries removed.$(RESET)" .PHONY: fclean re: fclean all .PHONY: re # ****************************** Libraries ********************************** # LIBS = -lreadline $(LIBFT_NAME) $(GET_NEXT_LINE_NAME) $(FT_PRINTF_NAME) LIBS_INCLUDE = -I $(LIBFT_INCLUDE_PATH) -I $(GET_NEXT_LINE_INCLUDE_PATH) -I $(FT_PRINTF_INCLUDE_PATH) -I $(FT_ARGS_INCLUDE_PATH) LIBS_PATH = lib # ** Libft ** # LIBFT = Libft LIBFT_REPO = https://github.com/sdevsantiago/Libft.git LIBFT_PATH = $(LIBS_PATH)/$(LIBFT) LIBFT_INCLUDE_PATH = $(LIBFT_PATH) LIBFT_NAME = $(LIBFT_PATH)/libft.a libft: $(LIBFT_NAME) .PHONY: libft $(LIBFT_NAME): @if [ ! -d $(LIBFT_PATH) ]; then \ $(PRINT) "$(YELLOW)$(EMOJI_WRENCH) Cloning $(LIBFT)...$(RESET)"; \ git clone --quiet $(LIBFT_REPO) $(LIBFT_PATH); \ rm -rf $(LIBFT_PATH)/.git; \ $(PRINT) "$(GREEN)$(EMOJI_CHECK) $(LIBFT) cloned...$(RESET)"; \ fi @if [ ! -f $(LIBFT_NAME) ]; then \ $(PRINT) "$(YELLOW)$(EMOJI_WRENCH) Compiling $(LIBFT)...$(RESET)"; \ $(MAKE) --silent -C $(LIBFT_PATH) all clean; \ $(PRINT) "$(GREEN)$(EMOJI_CHECK) $(LIBFT) compiled.$(RESET)"; \ fi # ** get_next_line ** GET_NEXT_LINE = get_next_line GET_NEXT_LINE_REPO = https://github.com/sdevsantiago/get_next_line.git GET_NEXT_LINE_PATH = $(LIBS_PATH)/$(GET_NEXT_LINE) GET_NEXT_LINE_INCLUDE_PATH = $(GET_NEXT_LINE_PATH)/include GET_NEXT_LINE_NAME = $(GET_NEXT_LINE_PATH)/get_next_line.a get_next_line: $(GET_NEXT_LINE_NAME) .PHONY: get_next_line $(GET_NEXT_LINE_NAME): @if [ ! -d $(GET_NEXT_LINE_PATH) ]; then \ $(PRINT) "$(YELLOW)$(EMOJI_WRENCH) Cloning $(GET_NEXT_LINE)...$(RESET)"; \ git clone --quiet $(GET_NEXT_LINE_REPO) $(GET_NEXT_LINE_PATH); \ rm -rf $(GET_NEXT_LINE_PATH)/.git; \ rm -rf $(GET_NEXT_LINE_PATH)/tests; \ rm -rf $(GET_NEXT_LINE_PATH)/files; \ $(PRINT) "$(GREEN)$(EMOJI_CHECK) $(GET_NEXT_LINE) cloned...$(RESET)"; \ fi @if [ ! -f $(GET_NEXT_LINE_NAME) ]; then \ $(PRINT) "$(YELLOW)$(EMOJI_WRENCH) Compiling $(GET_NEXT_LINE)...$(RESET)"; \ $(MAKE) --silent -C $(GET_NEXT_LINE_PATH) all clean > /dev/null; \ $(PRINT) "$(GREEN)$(EMOJI_CHECK) $(GET_NEXT_LINE) compiled.$(RESET)"; \ fi # ** ft_printf ** FT_PRINTF = ft_printf FT_PRINTF_REPO = https://github.com/sdevsantiago/ft_printf.git FT_PRINTF_PATH = $(LIBS_PATH)/$(FT_PRINTF) FT_PRINTF_INCLUDE_PATH = $(FT_PRINTF_PATH)/include FT_PRINTF_NAME = $(FT_PRINTF_PATH)/libftprintf.a ft_printf: $(FT_PRINTF_NAME) .PHONY: ft_printf $(FT_PRINTF_NAME): @if [ ! -d $(FT_PRINTF_PATH) ]; then \ $(PRINT) "$(YELLOW)$(EMOJI_WRENCH) Cloning $(FT_PRINTF)...$(RESET)"; \ git clone --quiet $(FT_PRINTF_REPO) $(FT_PRINTF_PATH); \ rm -rf $(FT_PRINTF_PATH)/.git; \ $(PRINT) "$(GREEN)$(EMOJI_CHECK) $(FT_PRINTF) cloned...$(RESET)"; \ fi @if [ ! -f $(FT_PRINTF_NAME) ]; then \ $(PRINT) "$(YELLOW)$(EMOJI_WRENCH) Compiling $(FT_PRINTF)...$(RESET)"; \ $(MAKE) --silent -C $(FT_PRINTF_PATH) all clean LIBFT_PATH=../$(LIBFT) > /dev/null; \ $(PRINT) "$(GREEN)$(EMOJI_CHECK) $(FT_PRINTF) compiled.$(RESET)"; \ fi # ** ft_args ** FT_ARGS = ft_args FT_ARGS_REPO = https://github.com/sdevsantiago/ft_args.git FT_ARGS_PATH = $(LIBS_PATH)/$(FT_ARGS) FT_ARGS_INCLUDE_PATH = $(FT_ARGS_PATH) FT_ARGS_NAME = $(FT_ARGS_PATH)/$(FT_ARGS).h ft_args: $(FT_ARGS_NAME) .PHONY: ft_args $(FT_ARGS_NAME): @if [ ! -d $(FT_ARGS_PATH) ]; then \ $(PRINT) "$(YELLOW)$(EMOJI_WRENCH) Cloning $(FT_ARGS)...$(RESET)"; \ git clone --quiet $(FT_ARGS_REPO) $(FT_ARGS_PATH); \ rm -rf $(FT_ARGS_PATH)/.git; \ $(PRINT) "$(GREEN)$(EMOJI_CHECK) $(FT_ARGS) cloned...$(RESET)"; \ fi # ***************************** Style variables ****************************** # PRINT = printf "%b\n" RED = \033[0;31m GREEN = \033[0;32m YELLOW = \033[0;33m BLUE = \033[0;34m RESET = \033[0m EMOJI_BROOM = ๐Ÿงน EMOJI_CHECK = โœ… EMOJI_CROSS = โŒ EMOJI_WRENCH = ๐Ÿ”ง EMOJI_BOX = ๐Ÿ“ฆ