-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
100 lines (86 loc) · 3.04 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
89
90
91
92
93
94
95
96
97
98
99
100
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: ehakam <ehakam@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2021/07/04 19:30:39 by ehakam #+# #+# #
# Updated: 2021/07/14 13:08:34 by ehakam ### ########.fr #
# #
# **************************************************************************** #
NAME = minishell
CC = gcc
CFLAG = -Wall -Wextra -Werror
LRL = "-lreadline"
LDFLAGS = "-L/goinfre/$(USER)/.brew/opt/readline/lib"
CPPFLAGS = "-I/goinfre/$(USER)/.brew/opt/readline/include"
SRC_LEXER = lexer/envirement_vars_utils.c \
lexer/lexer.c \
lexer/env_vars_helper_funcs.c \
lexer/lexer_helper_functions.c \
lexer/lexer_helper_functions2.c \
lexer/lexer_tokens_helper_funcs.c \
lexer/lexer_tokens_helper_funcs2.c \
lexer/lexer_parsing_helper_funcs.c \
lexer/quotes_parsing_helper_funcs.c
SRC_PARSER = parser/parse.c \
parser/parse_redirs.c \
parser/parser_helper_functions.c \
parser/vector_fill_out_utils.c
SRC_UTILS = global_utils/ft_atoi.c \
global_utils/ft_atol.c \
global_utils/ft_bzero.c \
global_utils/ft_is.c \
global_utils/ft_itoa.c \
global_utils/ft_memset.c \
global_utils/ft_split.c \
global_utils/ft_strcmp.c \
global_utils/ft_strdup.c \
global_utils/ft_strjoin.c \
global_utils/ft_strlen.c \
global_utils/ft_substr.c \
global_utils/ft_index_of.c \
global_utils/gnl.c \
global_utils/ft_malloc.c
SRC_BUILTINS= builtins/ft_cd.c \
builtins/ft_echo.c \
builtins/ft_env.c \
builtins/ft_exit.c \
builtins/ft_export.c \
builtins/ft_pwd.c \
builtins/ft_unset.c
SRC_EXEC = main/ft_cmds.c \
main/ft_envp.c \
main/ft_paths.c \
main/ft_execve.c \
main/ft_pipes.c \
main/ft_redirs.c \
main/ft_run.c \
main/minishell.c \
main/ft_signals.c \
main/ft_vector.c \
main/ft_vector_1.c \
main/ft_vector_2.c \
main/ft_heredoc.c \
main/ft_heredoc_handlers.c \
main/ft_variables.c \
main/ft_variables_2.c \
main/ft_variables_3.c \
main/ft_variables_4.c \
main/ft_free.c \
SRC_AST = ast/node.c
SRC_ERRORS = errors/error.c
SRC_TOKEN = tokenizer/token.c
SRCS = $(SRC_LEXER) $(SRC_PARSER) $(SRC_UTILS) $(SRC_BUILTINS) $(SRC_EXEC) $(SRC_AST) $(SRC_ERRORS) $(SRC_TOKEN)
all: $(NAME)
$(NAME): $(SRCS)
@echo "Building..."
@gcc $(CFLAG) $(LRL) $(LDFLAGS) $(CPPFLAGS) $(SRCS) -o $(NAME)
clean:
@echo "Cleaning..."
@rm -rf *.o
fclean: clean
@echo "Full Cleaning..."
@rm -rf $(NAME) *.out
re: fclean all