-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
78 lines (51 loc) · 1.87 KB
/
Copy pathMakefile
File metadata and controls
78 lines (51 loc) · 1.87 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: jperpect <jperpect@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2024/05/08 14:51:15 by jperpect #+# #+# #
# Updated: 2025/03/14 23:11:52 by jperpct ### ########.fr #
# #
# **************************************************************************** #
FLGS = -Wall -Wextra -Werror
NAME = ft_free.a
AR = ar rcs
SRCS = ft_free.c ft_free_utilis.c ft_free_pocket.c ft_list.c ft_string.c ft_struct_free.c\
OBJECT = $(SRCS:.c=.o)
CC = cc
RM = rm -f
COUNT_FILE = count.txt
# Verifica se o arquivo existe; se não, cria com valor inicial 0
COUNT = $(shell cat $(COUNT_FILE))
.SILENT:
all: $(NAME)
$(NAME): $(OBJECT)
@$(AR) $@ $^
@rm -f $(COUNT_FILE)
bonus: $(OBJECT_B) $(NAME)
@ar rcs $(NAME) $(Free_DIR) $^
@rm -f $(COUNT_FILE)
%.o:%.c $(NAME)
@cc -c $(FLGS) -o $@ $<
$(eval COUNT=$(shell echo $$(( $(COUNT) + 1 ))))
# Salva o novo valor de COUNT no arquivo
show_progress:
clear
@PERCENT=$$(($(COUNT) * 100 / $(words $(SRCS)))); \
PROG_LEN=$$(($$PERCENT / 10)); \
echo -n " $(NAME) ["; \
for i in `seq 1 $$PROG_LEN`; do \
echo -n "#"; \
done; \
for i in `seq $$PROG_LEN 10`; do \
echo -n " "; \
done; \
echo "] $$PERCENT%"
clean:
$(RM) $(OBJECT) $(OBJECT_B)
@rm -f $(COUNT_FILE)
fclean: clean
$(RM) $(NAME)
re: fclean all