summaryrefslogtreecommitdiffstats
path: root/libft/Makefile
blob: 1b41ad710fbccd1d24a61ecfaf0f2704c2cae127 (plain)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# **************************************************************************** #
#                                                           LE - /             #
#                                                               /              #
#    Makefile                                         .::    .:/ .      .::    #
#                                                  +:+:+   +:    +:  +:+:+     #
#    By: rbousset <marvin@le-101.fr>                +:+   +:    +:    +:+      #
#                                                  #+#   #+    #+    #+#       #
#    Created: 2019/10/08 15:04:55 by rbousset     #+#   ##    ##    #+#        #
#    Updated: 2019/10/13 14:01:21 by rbousset    ###    #+. /#+    ###.fr      #
#                                                          /                   #
#                                                         /                    #
# **************************************************************************** #

SRCS_DIR		= src/
SRCS			= \
				${SRCS_DIR}ft_memset.c \
				${SRCS_DIR}ft_bzero.c \
				${SRCS_DIR}ft_memcpy.c \
				${SRCS_DIR}ft_memccpy.c \
				${SRCS_DIR}ft_memmove.c \
				${SRCS_DIR}ft_memchr.c \
				${SRCS_DIR}ft_memcmp.c \
				${SRCS_DIR}ft_strlen.c \
				${SRCS_DIR}ft_isalpha.c \
				${SRCS_DIR}ft_isdigit.c \
				${SRCS_DIR}ft_isalnum.c \
				${SRCS_DIR}ft_isascii.c \
				${SRCS_DIR}ft_isprint.c \
				${SRCS_DIR}ft_tolower.c \
				${SRCS_DIR}ft_toupper.c \
				${SRCS_DIR}ft_strchr.c \
				${SRCS_DIR}ft_strrchr.c \
				${SRCS_DIR}ft_strncmp.c \
				${SRCS_DIR}ft_strlcpy.c \
				${SRCS_DIR}ft_strlcat.c \
				${SRCS_DIR}ft_strnstr.c \
				${SRCS_DIR}ft_atoi.c \
				${SRCS_DIR}ft_calloc.c \
				${SRCS_DIR}ft_strdup.c \
				\
				${SRCS_DIR}ft_substr.c \
				${SRCS_DIR}ft_strjoin.c \
				${SRCS_DIR}ft_strtrim.c \
				${SRCS_DIR}ft_split.c \
				${SRCS_DIR}ft_itoa.c \
				${SRCS_DIR}ft_strmapi.c \
				${SRCS_DIR}ft_putchar_fd.c \
				${SRCS_DIR}ft_putstr_fd.c \
				${SRCS_DIR}ft_putendl_fd.c \
				${SRCS_DIR}ft_putnbr_fd.c \
				\
				${SRCS_DIR}ft_lstnew.c \
				${SRCS_DIR}ft_lstadd_front.c \
				${SRCS_DIR}ft_lstsize.c \
				${SRCS_DIR}ft_lstlast.c \
				${SRCS_DIR}ft_lstadd_back.c \
				${SRCS_DIR}ft_lstdelone.c \
				${SRCS_DIR}ft_lstclear.c \
				${SRCS_DIR}ft_lstiter.c \
				${SRCS_DIR}ft_lstmap.c \
				${SRCS_DIR}ft_putchar.c \
				${SRCS_DIR}ft_putstr.c \
				${SRCS_DIR}ft_putendl.c \
				${SRCS_DIR}ft_putnbr.c \
				${SRCS_DIR}ft_strnlen.c \
				${SRCS_DIR}ft_strcat.c \
				${SRCS_DIR}ft_strcmp.c \
				${SRCS_DIR}ft_isspace.c \
				${SRCS_DIR}ft_sqrt.c

OBJS_DIR		= obj/
OBJS			= $(patsubst ${SRCS_DIR}%.c,${OBJS_DIR}%.o,${SRCS})

INCS_DIR		= inc/
INCS			= libft.h

CC				= clang
CFLAGS			= -Wall -Wextra -Werror

DEBUG			= -g3
FSANITIZE		= -fsanitize=address

AR				= ar rcs
NAME			= libft.a

MKDIR			= mkdir -p
RM				= rm -rf


${OBJS_DIR}%.o:		${SRCS_DIR}%.c ${INCS_DIR}${INCS}
	@if [ ! -a ${OBJS_DIR} ]; then \
		${MKDIR} ${OBJS_DIR}; \
	fi
	@${CC} ${CFLAGS} -I${INCS_DIR} -c $< -o $@
	@echo "Compiled $(subst ${OBJS_DIR},,$@)!"

$(NAME):	${OBJS}
	@${AR} ${NAME} ${OBJS}
	@echo
	@echo "libft.a linked!"

all:		${NAME}

clean: 
	@${RM} ${OBJS} 
	@echo "Removed obj files!"

fclean:		clean
	@${RM} ${OBJS_DIR}
	@${RM} ${NAME}
	@echo "Removed everything!"

re:		fclean all

default: all

.PHONY:	all clean clean fclean re