ft_strace/libft/Makefile

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