Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
61 lines (47 loc) · 2.06 KB
/
Copy pathMakefile
File metadata and controls
61 lines (47 loc) · 2.06 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: philippe <philippe@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2024/02/27 09:17:19 by pdeson #+# #+# #
# Updated: 2024/04/15 10:17:11 by philippe ### ########.fr #
# #
# **************************************************************************** #
NAME = ft_malloc
PRINT_PREFIX = \033[1m\033[38;5;240m[\033[0m\033[38;5;250m\
$(NAME)\033[1m\033[38;5;240m] \033[38;5;105m~\033[0m
CC = @cc
CFLAGS = -Wall -Werror -Wextra -g3 #-fsanitize=address
SRC_DIR = srces/
OBJ_DIR = .obj/
SRC = main.c ft_utils.c ft_malloc.c ft_free.c ft_free_all.c ft_realloc.c
SRCES = $(addprefix $(SRC_DIR), $(SRC))
OBJ = $(SRC:.c=.o)
OBJS = $(addprefix $(OBJ_DIR), $(OBJ))
NUM_FILES = $(words $(SRCES))
BAR_LENGTH = $(shell echo "$$(($(NUM_FILES)*2))")
all: $(NAME)
$(OBJ_DIR)%.o: $(SRC_DIR)%.c
@mkdir -p $(OBJ_DIR)
$(CC) $(CFLAGS) -c $< -o $@
$(NAME): $(OBJS)
@printf "$(PRINT_PREFIX)\033[0;38;5;226m Compiling \033[0m["
@for i in $(shell seq 1 $(BAR_LENGTH)); do \
sleep 0.02; \
printf "\033[38;5;40m▲▼"; \
done
@printf "\033[38;5;40m] \033[0m\n"
$(CC) $(CFLAGS) $(OBJS) -o $(NAME)
@echo "$(PRINT_PREFIX)\033[0;32m Done \033[0;37m\n"
clean:
@echo "$(PRINT_PREFIX)\033[0;38;5;226m Cleaning \033[0m\n"
@rm -rf $(OBJS)
@echo "$(PRINT_PREFIX)\033[0;32m Done \033[0;37m\n"
fclean: clean
@rm -rf $(NAME) $(OBJ_DIR)
re: fclean all
run: all clean
./$(NAME)
.PHONY: all clean fclean re run