79 lines
2.9 KiB
Makefile
Executable file
79 lines
2.9 KiB
Makefile
Executable file
CC = cc
|
|
|
|
CFLAGS = -Wall -Wextra -Werror -O3 -g3 -fPIC
|
|
|
|
SRCS = ./ft_isalnum.c ./ft_isalpha.c ./ft_isascii.c ./ft_isdigit.c \
|
|
./ft_isprint.c ./ft_memset.c ./ft_strlen.c ./ft_bzero.c ./ft_memcpy.c \
|
|
./ft_memmove.c ./ft_strlcpy.c ./ft_strlcat.c ./ft_toupper.c \
|
|
./ft_tolower.c ./ft_strchr.c ./ft_strrchr.c ./ft_strncmp.c \
|
|
./ft_memchr.c ./ft_memcmp.c ./ft_strnstr.c ./ft_atoi.c \
|
|
./ft_strdup.c ./ft_calloc.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_int_utils.c \
|
|
./ft_safe_int_math.c ./ft_split2.c ./ft_long_utils.c \
|
|
./ft_safe_long_math.c
|
|
|
|
SRCSBONUS = ./ft_lstnew_bonus.c ./ft_lstadd_front_bonus.c ./ft_lstsize_bonus.c ./ft_lstlast_bonus.c ./ft_lstadd_back_bonus.c ./ft_lstdelone_bonus.c ./ft_lstclear_bonus.c ./ft_lstiter_bonus.c ./ft_lstmap_bonus.c ./ft_vector.c ./ft_itoa_base.c ./ft_addr_to_str.c ./ft_utoa.c ./ft_strnonchr.c ./ft_utoa_base.c ./ft_strcmp.c ./ft_vecint.c ./ft_power.c
|
|
|
|
SRCS_GNL = ./get_next_line/get_next_line.c ./get_next_line/get_next_line_utils.c ./get_next_line/get_next_line_utils_two.c
|
|
|
|
FT_PRINTF_PATH = ./ft_printf/
|
|
SRC_PRINTF = ft_printf.c ft_cases_mandatory_one.c ft_cases_mandatory_two.c ft_printf_bonus.c ft_cases_easy_bonus.c ft_case_lowx_bonus.c ft_case_uppx_bonus.c ft_case_u_bonus.c ft_case_s_bonus.c ft_case_p_bonus.c ft_case_d_bonus.c ft_case_d_utils_bonus.c ft_arglist_bonus.c ft_padding_bonus.c
|
|
SRCS_PRINTF = $(addprefix $(FT_PRINTF_PATH), $(SRC_PRINTF))
|
|
|
|
FT_HASHMAP_PATH = ./ft_hashmap/
|
|
SRC_HASHMAP = ft_hashmap.c ft_hashmap_utils.c ft_hashmap_utils_two.c ft_hashmap_basic_type_hash.c ft_hashmap_advanced_type_hash.c ft_hashmap_basic_cmp.c
|
|
SRCS_HASHMAP = $(addprefix $(FT_HASHMAP_PATH), $(SRC_HASHMAP))
|
|
|
|
FT_PQ_PATH = ./ft_priority_queue/
|
|
SRC_PQ = ft_priority_queue.c ft_priority_queue_utils.c
|
|
SRCS_PQ = $(addprefix $(FT_PQ_PATH), $(SRC_PQ))
|
|
|
|
FT_SORTING_PATH = ./sorting/
|
|
SRC_SORTING = ft_radixsort.c ft_sorting.c
|
|
SRCS_SORTING = $(addprefix $(FT_SORTING_PATH), $(SRC_SORTING))
|
|
|
|
OBJS = $(SRCS:.c=.o)
|
|
|
|
OBJSBONUS = $(SRCSBONUS:.c=.o)
|
|
|
|
OBJS_GNL = $(SRCS_GNL:.c=.o)
|
|
|
|
OBJS_PRINTF = $(SRCS_PRINTF:.c=.o)
|
|
|
|
OBJS_HASHMAP = $(SRCS_HASHMAP:.c=.o)
|
|
|
|
OBJS_PQ = $(SRCS_PQ:.c=.o)
|
|
|
|
OBJS_SORTING = $(SRCS_SORTING:.c=.o)
|
|
|
|
NAME = libft.a
|
|
|
|
RED := \033[0;31m
|
|
GREEN := \033[0;32m
|
|
YELLOW := \033[0;33m
|
|
BLUE := \033[0;34m
|
|
NC := \033[0m
|
|
|
|
|
|
all: $(NAME)
|
|
|
|
$(NAME): $(OBJS) $(OBJSBONUS) $(OBJS_GNL) $(OBJS_PRINTF) $(OBJS_HASHMAP) $(OBJS_PQ) $(OBJS_SORTING)
|
|
@ar rcs $(NAME) $(OBJS) $(OBJSBONUS) $(OBJS_GNL) $(OBJS_PRINTF) $(OBJS_HASHMAP) $(OBJS_PQ) $(OBJS_SORTING)
|
|
@echo "$(GREEN)finished compiling $(NAME)!$(NC)"
|
|
|
|
bonus: $(NAME)
|
|
|
|
./%.o: ./%.c
|
|
@$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
@rm -f $(OBJS) $(OBJSBONUS) $(OBJS_GNL) $(OBJS_PRINTF) $(OBJS_HASHMAP) $(OBJS_PQ) $(OBJS_SORTING)
|
|
@echo "$(YELLOW)deleted object files from $(NAME)$(NC)"
|
|
|
|
fclean: clean
|
|
@rm -f $(NAME)
|
|
@echo "$(YELLOW)deleted $(NAME)$(NC)"
|
|
|
|
re: fclean all
|