-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
88 lines (75 loc) · 1.94 KB
/
Makefile
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
##
## EPITECH PROJECT, 2019
## makefile
## File description:
## match
##
SRC = ./src/main.c \
./src/link/basic_link.c \
./src/link/link_env.c \
./src/link/link_path.c \
./src/init/init_env.c \
./src/init/init_path_link.c \
./src/tool.c \
./src/prompt/prompt.c \
./src/prompt/command.c \
./src/env/setenv.c \
./src/env/unsetenv.c \
./src/link/binary_tree.c \
./src/cd/cd.c \
./src/cd/cd2.c \
./src/env/tool_env.c \
./src/is_alphanumeric.c \
./src/prompt/execute_binary.c \
./src/prompt/basic.c \
OBJ = $(SRC:.c=.o)
CC = gcc
CLANG =
RM = rm -f
NAME = mysh
LIB = make -C ./lib/my
TEST = make -C ./tests
CFLAGS = -W -Wall -Wextra -g3 -Wno-deprecated -I./include/
CSFML = -lcsfml-graphics -lcsfml-audio -lcsfml-window -lcsfml-system
LDFLAGS = -L. lib/libmy.a
### COLORS ###
NOC = \033[0m
BOLD = \033[1m
UNDERLINE = \033[4m
BLACK = \033[1;30m
RED = \033[1;31m
GREEN = \033[1;32m
YELLOW = \033[1;33m
BLUE = \033[1;34m
VIOLET = \033[1;35m
CYAN = \033[1;36m
WHITE = \033[1;37m
all: start $(NAME)
%.o: %.c
@$(CC) $(CFLAGS) -c -o $@ $<
@echo "$(BLUE)Creating object file -> $(WHITE)$(notdir $@)... $(RED)[Done]"
$(NAME): $(OBJ)
@echo "$(BOLD)Creating LIB $(GREEN)[IN PROGRESS]"
$(LIB)
@$(CC) $(CFLAGS) -o $(NAME) $(OBJ) $(LDFLAGS) -lncurses
@echo "$(GREEN)[$(NAME)] was successfully created$(NOC)"
make clean
test_run:
$(TEST)
./tests/unit_tests
retest:
$(TEST) re
./tests/unit_tests
clean:
$(LIB) clean
$(RM) $(OBJ)
@echo "\033[5m\033[3m\033[33mEtat for -> $(NAME) -> clean -> OK\033[0m"
fclean: clean
$(RM) $(NAME)
$(LIB) fclean
@echo "\033[5m\033[3m\033[33mEtat for -> $(NAME) -> fclean -> OK\033[0m"
end:
@echo "\033[5m\033[1m\033[32mEtat for -> $(NAME) -> compil -> OK\033[0m"
start:
@echo "\033[5m\033[1m\033[32mWe compil your project\033[0m"
re: fclean all