NAME= libftprintf.a LIBFT= $(BUILD_DIR)/libft.a SRC_DIR= src INC_DIR= include LIBFT_DIR= libft BUILD_DIR= .build SRC= $(SRC_DIR)/ft_printf.c \ $(SRC_DIR)/ft_putnbr_base.c \ $(SRC_DIR)/print_char.c \ $(SRC_DIR)/print_hex.c \ $(SRC_DIR)/print_number.c \ $(SRC_DIR)/print_pointer.c \ $(SRC_DIR)/print_str.c \ $(SRC_DIR)/print_unsigned.c \ $(SRC_DIR)/ft_create_arg.c \ $(SRC_DIR)/ft_main_arg.c \ $(SRC_DIR)/ft_parsing.c \ $(SRC_DIR)/utils_flag.c OBJ= $(SRC:%.c=$(BUILD_DIR)/%.o) DEP= $(SRC:%.c=$(BUILD_DIR)/%.d) CC= cc CFLAGS= -Wall -Wextra -Werror -I$(INC_DIR) -I$(LIBFT_DIR) -MMD -MP AR= ar rcs all: $(NAME) bonus: all $(NAME): $(OBJ) $(LIBFT) cp $(LIBFT) $(NAME) $(AR) $(NAME) $(OBJ) $(BUILD_DIR)/%.o: %.c mkdir -p $(dir $@) $(CC) $(CFLAGS) -c $< -o $@ $(LIBFT): $(MAKE) -C $(LIBFT_DIR) cp $(LIBFT_DIR)/libft.a $(LIBFT) clean: rm -f $(OBJ) $(DEP) $(MAKE) -C $(LIBFT_DIR) clean fclean: clean rm -f $(NAME) $(LIBFT) $(MAKE) -C $(LIBFT_DIR) fclean re: fclean all -include $(DEP) .PHONY: all clean fclean re bonus