-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (50 loc) · 1.84 KB
/
Makefile
File metadata and controls
69 lines (50 loc) · 1.84 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
NAME := libftprintf.a
HFILE := $(SRC_DIR)ft_printf.h
CFILES := ft_printf.c \
char_printers.c \
nbr_printers.c \
hex_printers.c \
SRC_DIR := sources/
OBJ_DIR := objects/
LIBFT_DIR := LIBFT/
SRCS := $(addprefix $(SRC_DIR), $(CFILES))
OFILES := $(CFILES:.c=.o)
OBJS := $(addprefix $(OBJ_DIR), $(OFILES))
CFLAGS ?= -Wall -Wextra -Werror
LIBFT := LIBFT/libft.a
$(NAME): GREETING $(OBJ_DIR) $(OBJS) $(LIBFT)
@printf "$(WHITE) BUILDING LIBRARY \n$(YELLOW) $(NAME) $(GREEN) (DONE)\n$(GREEN)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
@cp $(LIBFT) $(NAME)
@ar -cr $(NAME) $(OBJS)
$(END_MSG)
$(LIBFT):
@printf "$(PURPLE)━━━━building LIBFT uwu━━━━\n"
@$(MAKE) all -C $(LIBFT_DIR)
$(OBJ_DIR)%.o: $(SRC_DIR)%.c
@$(CC) -c $(CFLAGS) $< -o $@ -I$(LIBFT_DIR) -I$(SRC_DIR)
@printf "$@ $(GREEN) (DONE) $(BLUE)\n"
$(OBJ_DIR):
mkdir $(OBJ_DIR)
test: $(NAME)
@$(CC) $(NAME) testing.c -LLIBFT -lft -L. -lftprintf -I$(SRC_DIR) -ILIBFT/ -o cute_little_test
@printf "$(PURPLE)\n:*✧・゚ cute_little_test :*✧・゚ $(WHITE)has been made :) \n\n\n"
clean:
$(RM_MSG)
@$(RM) -rf $(OBJ_DIR)
fclean: clean
@$(RM) $(NAME)
re: fclean $(NAME)
GREETING:
$(START_MSG)
.PHONY: clean fclean re test
PINK = \x1b[35;01m
RED = \x1b[31;01m
BLUE = \x1b[34;01m
GREEN = \x1b[32;01m
YELLOW = \x1b[33;01m
WHITE = \x1b[31;37m
COLORRESET = \x1b[0m
PURPLE = \033[1;35m
END_MSG = @printf "$(PINK)\n\n✧・:*✧・゚:*💖 all done cutie 💖* :・゚✧*:・゚✧\n"
START_MSG = @printf "$(GREEN)⭒☆━━━━━━━━━━ MAKEFILE START ━━━━━━━━⭒☆\n$(WHITE) COMPILING FILES\n$(BLUE)"
RM_MSG = @printf "$(RED)\n━━━━━━━━━━━━━━━━━━━━ \n|objects cleaned :)|\n━━━━━━━━━━━━━━━━━━━━\n "