-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
70 lines (61 loc) · 2.44 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: johmatos <[email protected]> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2022/10/30 16:11:43 by johmatos #+# #+# #
# Updated: 2023/03/29 12:54:21 by johmatos ### ########.fr #
# #
# **************************************************************************** #
LIB := ./libft.a
VPATH := ./src/io/ ./src/utils/ ./src/memory/ ./src/string/
BUILDDIR := objs/
INCLUDE := /include
CC := cc
CFLAGS = -Wall -Werror -Wextra
SOURCES := ft_atoi.c ft_isalnum.c ft_isalpha.c \
ft_isascii.c ft_isdigit.c ft_isprint.c \
ft_ithex.c ft_itoa.c ft_ubase.c ft_split.c \
ft_strchr.c ft_strdup.c ft_striteri.c ft_strjoin.c \
ft_strlcat.c ft_strlcpy.c ft_strlen.c ft_strmapi.c \
ft_strncmp.c ft_strnstr.c ft_strrchr.c ft_strtrim.c \
ft_substr.c ft_tolower.c ft_toupper.c ft_bzero.c \
ft_calloc.c ft_memchr.c ft_memcmp.c ft_memcpy.c \
ft_memmove.c ft_memset.c fmt_to_char.c fmt_to_decimal.c \
fmt_to_hex.c fmt_to_pointer.c fmt_to_string.c fmt_to_udecimal.c \
ft_printf.c ft_putchar_fd.c ft_putendl_fd.c ft_putnbr_fd.c \
ft_putstr_fd.c get_next_line_bonus.c \
get_next_line_utils_bonus.c parser.c \
ft_lstnew.c ft_lstnew.c ft_lstadd_front.c \
ft_lstsize.c ft_lstlast.c ft_lstadd_back.c \
ft_lstdelone.c ft_lstclear.c ft_lstiter.c \
ft_lstmap.c ft_interpol.c
RCol='\e[0m'
Bla='\e[0;30m'
Red='\e[0;31m'
Gre='\e[0;32m'
el='\e[0;33m'
Blu='\e[0;34m'
Pur='\e[0;35m'
Cya='\e[0;36m'
Whi='\e[0;37m'
MSGBUILD="[$(Gre)+$(RCol)]"
MSGRM="[$(Red)-$(RCol)]"
OBJS := $(addprefix $(BUILDDIR), $(SOURCES:.c=.o))
ifdef DEBUG
CFLAGS += -g3
endif
all: $(LIB)
$(LIB): $(OBJS)
@echo "${MSGBUILD} Building $@"
@ar -rcs $@ $(OBJS)
$(BUILDDIR)%.o: %.c
@echo "${MSGBUILD} building $@"
@test -d $(BUILDDIR) || mkdir $(BUILDDIR)
@$(CC) $(CFLAGS) -I./include -c $< -o $@
clean:
@rm -rf $(BUILDDIR)
fclean: clean
@rm -rf $(LIB)