libft/Makefile
2023-04-15 06:46:13 +02:00

192 lines
4.5 KiB
Makefile

# **************************************************************************** #
# #
# :::::::: #
# Makefile |o_o || | #
# +:+ #
# By: djonker <marvin@codam.nl> +#+ #
# +#+ #
# Created: 2020/10/27 15:02:02 by djonker #+# #+# #
# Updated: 2023/03/20 19:00:18 by houtworm \___)=(___/ #
# #
# **************************************************************************** #
NAME =libft.a
CC =gcc
FC =-Wall -Werror -Wextra -fsanitize=address
FAR =ar -rs
RM =rm -f
SRC =src/ft_atoi.c \
src/ft_bzero.c \
src/ft_calloc.c \
src/ft_cntwrd.c \
src/ft_intlen.c \
src/ft_isalnum.c \
src/ft_isalpha.c \
src/ft_isascii.c \
src/ft_isdigit.c \
src/ft_isprint.c \
src/ft_itoa.c \
src/ft_malstr.c \
src/ft_memccpy.c \
src/ft_memchr.c \
src/ft_memcmp.c \
src/ft_memmove.c \
src/ft_memcpy.c \
src/ft_memset.c \
src/ft_putchar_fd.c \
src/ft_putendl_fd.c \
src/ft_putnbr_fd.c \
src/ft_putstr_fd.c \
src/ft_split.c \
src/ft_strchr.c \
src/ft_strdup.c \
src/ft_strjoin.c \
src/ft_strlcat.c \
src/ft_strlcpy.c \
src/ft_strlen.c \
src/ft_strmapi.c \
src/ft_strncmp.c \
src/ft_strnstr.c \
src/ft_strrchr.c \
src/ft_strtrim.c \
src/ft_substr.c \
src/ft_tolower.c \
src/ft_toupper.c \
src/ft_wrdlen.c \
src/ft_frenarr.c \
src/ft_btoi.c \
src/ft_itob.c \
src/ft_revstr.c \
src/ft_frearr.c \
src/ft_putznbr.c \
src/ft_strupp.c \
src/ft_strlow.c \
src/ft_power.c \
src/ft_sqrt.c \
src/ft_factor.c \
src/ft_fnprim.c \
src/ft_isprim.c \
src/ft_dtoh.c \
src/ft_htod.c \
src/ft_htoi.c \
src/ft_itoh.c \
src/ft_ddtoi.c \
src/ft_itodd.c \
src/ft_otoi.c \
src/ft_itoo.c \
src/ft_swap.c \
src/ft_swaplong.c \
src/ft_round.c \
src/ft_putznbr_fd.c \
src/ft_putzflo_fd.c \
src/ft_putzflo.c \
src/ft_putstr.c \
src/ft_putnbr.c \
src/ft_putnbr_base.c \
src/ft_putflo.c \
src/ft_putendl.c \
src/ft_putchar.c \
src/ft_linlen.c \
src/ft_itof.c \
src/ft_isneg.c \
src/ft_iftof.c \
src/ft_ftoi.c \
src/ft_ftoa.c \
src/ft_fround.c \
src/ft_flolen.c \
src/ft_declen.c \
src/ft_atof.c \
src/ft_putflo_fd.c \
src/ft_arrlen.c \
src/ft_chrstr.c \
src/ft_cntwrds.c \
src/ft_isodigit.c \
src/ft_isxdigit.c \
src/ft_malstrs.c \
src/ft_min.c \
src/ft_max.c \
src/ft_lincpy.c \
src/ft_linlcpy.c \
src/ft_splits.c \
src/ft_wrdlens.c \
src/ft_vamin.c \
src/ft_vamax.c \
src/ft_islowc.c \
src/ft_isuppc.c \
src/ft_bitswap.c \
src/ft_itozh.c \
src/ft_itoba.c \
src/ft_itohx.c \
src/ft_cntchr.c \
src/ft_cntarg.c \
src/ft_around.c \
src/ft_putzsci.c \
src/ft_putull.c \
src/ft_putlong.c \
src/ft_ltoa.c \
src/ft_utoa.c \
src/ft_atou.c \
src/ft_atol.c \
src/ft_putzscih.c \
src/ft_luilen.c \
src/ft_itooa.c \
src/ft_dtoa.c \
src/ft_atodec.c \
src/ft_fczero.c \
src/ft_lftoi.c \
src/ft_lftoa.c \
src/ft_islneg.c \
src/ft_ldeclen.c \
src/ft_isallbyte.c \
src/ft_getuser.c \
src/ft_getpwd.c \
src/ft_vastrjoin.c \
src/ft_intrchr.c \
src/ft_system.c \
src/ft_getpaths.c \
src/ft_abspathcmd.c
BSRC =src/ft_lstadd_back.c \
src/ft_lstadd_front.c \
src/ft_lstclear.c \
src/ft_lstdelone.c \
src/ft_lstiter.c \
src/ft_lstlast.c \
src/ft_lstmap.c \
src/ft_lstnew.c \
src/ft_lstsize.c
OBJ =$(SRC:src/%.c=obj/%.o)
BOBJ =$(BSRC:src/%.c=obj/%.o)
ifdef WITBON
COBJ =$(OBJ) $(BOBJ)
CSRC =$(SRC) $(BSRC)
else
COBJ =$(OBJ)
CSRC =$(SRC)
endif
all: $(NAME)
clean:
@$(RM) -r obj
@printf "\e[1;35mCleaned Object Files\n\e[0;00m"
fclean: clean
@$(RM) $(NAME)
@printf "\e[1;31mCleaned Executables\n\e[0;00m"
re: fclean all
$(COBJ): $(CSRC)
@mkdir -p $(dir $@)
@printf "\e[1;34mBuilding $@\n\e[0;00m"
@$(CC) $(CFLAGS) -c $(@:obj/%.o=src/%.c) -o $@
$(NAME): $(COBJ)
@printf "\e[1;36mCompiling $@\e[0;00m\n"
@$(FAR) $(NAME) $^ > /dev/null 2>&1
@printf "\e[1;32mDone\e[0;00m\n"
bonus:
@$(MAKE) WITBON=1 all