-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
85 lines (68 loc) · 2.22 KB
/
Makefile
File metadata and controls
85 lines (68 loc) · 2.22 KB
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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: ymehdi <ymehdi@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2020/05/14 15:27:25 by ymehdi #+# #+# #
# Updated: 2020/06/13 16:41:25 by ymehdi ### ########.fr #
# #
# **************************************************************************** #
NAME = libftprintf.a
LIBFT_A = libft.a
COMP = gcc -Wall -Werror -Wextra $(PRINTF_H) $(LIBFT_H) -c -o
PRINTF_H = -I inc/
LIBFT_H = -I lib/
OBJ_DIR = obj/
SRC_DIR = src/
LIB_DIR = lib/
CFILE = ft_add_c_to_end_of_s.c\
ft_check.c\
ft_funcpy.c\
ft_get_flag.c\
ft_get_type_and_flag.c\
ft_parsing.c\
ft_printf_c.c\
ft_printf_d.c\
ft_printf_i.c\
ft_printf_p.c\
ft_printf_percent.c\
ft_printf_s.c\
ft_printf_u.c\
ft_printf.c\
ft_printf_x.c\
ft_printf_xm.c\
ft_get_type_and_flag_x.c\
CFIND = $(CFILE:%=$(SRC_DIR)%)
OFILE = $(CFILE:%.c=%.o)
OBJ = $(addprefix $(OBJ_DIR), $(OFILE))
all: $(OBJ_DIR) $(NAME)
$(OBJ_DIR):
@mkdir -p $(OBJ_DIR)
@echo Create: ft_printf Object directory
$(NAME): $(OBJ)
@echo LIBFT START
@make -C $(LIB_DIR)
@echo Copying $(LIBFT_A) to root.
@cp $(LIB_DIR)$(LIBFT_A) .
@mv $(LIBFT_A) $(NAME)
@ar rc $(NAME) $(addprefix $(OBJ_DIR), $(OFILE))
@ranlib $(NAME)
@echo Merged: $(NAME) with $(LIBFT_A)
@echo FT_PRINTF COMPLETE
$(OBJ): $(CFIND)
@$(MAKE) $(OFILE)
$(OFILE):
@echo Create: $(@:obj/%=%)
@$(COMP) $(OBJ_DIR)$@ $(SRC_DIR)$(@:%.o=%.c)
clean:
@/bin/rm -rf $(OBJ_DIR)
@make -C $(LIB_DIR) clean
@echo Cleaned ft_printf object files
fclean: clean
@/bin/rm -f $(NAME)
@make -C $(LIB_DIR) fclean
@echo Cleaned $(NAME)
re: fclean all
.PHONY: all clean flcean re