-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
98 lines (74 loc) · 2.65 KB
/
Makefile
File metadata and controls
98 lines (74 loc) · 2.65 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
86
87
88
89
90
91
92
93
94
95
96
97
98
MAKEFLAGS= --silent
NAME= libasm.a
TEST_NAME= testeur
BTEST_NAME= testeur_bonus
ASM= nasm
ASFLAGS= -f elf64
.s.o:
${ASM} ${ASFLAGS} $< -o ${<:.s=.o}
OBJ= $(SRC:.s=.o)
BOBJ= $(BSRC:.s=.o)
CC= cc
CFLAGS= #-Wall -Werror -Wextra
ifdef DEBUG
ASFLAGS += -g -F dwarf
endif
SRC= src/header.s \
src/ft_strlen.s \
src/ft_strcpy.s \
src/ft_strcmp.s \
src/ft_write.s \
src/ft_read.s \
src/ft_strdup.s
BSRC= src/bonus/header_bonus.s \
src/bonus/ft_atoi_base_bonus.s \
src/bonus/ft_list_push_front_bonus.s \
src/bonus/ft_list_size_bonus.s \
src/bonus/ft_list_sort_bonus.s \
src/bonus/ft_list_remove_if_bonus.s
all: $(NAME)
$(NAME): $(OBJ)
ar rc $(NAME) $(OBJ)
echo $(On_IGreen)" "$(Color_Off)
echo $(On_IGreen)$(BGreen)" project compiled! "$(Color_Off)
echo $(On_IGreen)" "$(Color_Off)
bonus: $(OBJ) $(BOBJ)
ar rc $(NAME) $(OBJ) $(BOBJ)
echo $(On_IGreen)" "$(Color_Off)
echo $(On_IGreen)$(BGreen)" bonus compiled! "$(Color_Off)
echo $(On_IGreen)" "$(Color_Off)
test: all
$(CC) $(CFLAGS) -o $(TEST_NAME) tester/main.c $(NAME)
./$(TEST_NAME)
echo $(On_IGreen)" "$(Color_Off)
echo $(On_IGreen)$(BGreen)" test executed! "$(Color_Off)
echo $(On_IGreen)" "$(Color_Off)
bonus_test: bonus
$(CC) $(CFLAGS) -o $(BTEST_NAME) tester/main_bonus.c $(NAME)
./$(BTEST_NAME)
echo $(On_IGreen)" "$(Color_Off)
echo $(On_IGreen)$(BGreen)" bonus test executed! "$(Color_Off)
echo $(On_IGreen)" "$(Color_Off)
clean:
rm -f $(OBJ) $(BOBJ)
echo $(On_IGreen)" "$(Color_Off)
echo $(On_IGreen)$(BYellow)" objects cleaned! "$(Color_Off)
echo $(On_IGreen)" "$(Color_Off)
fclean: clean
rm -f $(NAME) $(TEST_NAME) $(BTEST_NAME)
echo $(On_IGreen)" "$(Color_Off)
echo $(On_IGreen)$(BYellow)" project fully cleaned! "$(Color_Off)
echo $(On_IGreen)" "$(Color_Off)
re: fclean all
bre: fclean bonus
.PHONY: all bonus test bonus_test clean fclean re bre
# - - - - - Colors - - - - - - #
# |
BGreen= '\033[1;32m' #Bold Green |
BYellow= '\033[1;33m' #Bold Yellow |
# |
On_IGreen= '\033[0;102m' #H.I-Green Background |
# |
Color_Off= '\033[0m' #Color Reset |
# |
# - - - - - - - - - - - - - #