-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
executable file
·92 lines (74 loc) · 2.48 KB
/
Makefile
File metadata and controls
executable file
·92 lines (74 loc) · 2.48 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: drestrep <drestrep@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2024/10/24 00:49:01 by drestrep #+# #+# #
# Updated: 2024/12/11 21:13:18 by drestrep ### ########.fr #
# #
# **************************************************************************** #
NAME = minishell
CC = gcc
CFLAGS = -g3 -Wall -Wextra -Werror -fsanitize=address -O3
LDFLAGS = -lreadline
INCLUDES = -I ./inc/
PATH_BASE = ./src/
PATH_UTILS = ./src/utils/
PATH_PARSING = ./src/parsing/
PATH_SIGNALS = ./src/signals/
PATH_PIPES = ./src/pipes/
PATH_BUILT = ./src/built_ins/
BASE = $(addprefix $(PATH_BASE), $(BASE_SRC))
UTILS = $(addprefix $(PATH_UTILS), $(UTILS_SRC))
PARSING = $(addprefix $(PATH_PARSING), $(PARSING_SRC))
SIGNALS = $(addprefix $(PATH_SIGNALS), $(SIGNALS_SRC))
PIPES = $(addprefix $(PATH_PIPES), $(PIPES_SRC))
BUILT = $(addprefix $(PATH_BUILT), $(BUILT_SRC))
BASE_SRC = main.c
PARSING_SRC = lexer.c \
parser.c \
tokenizer.c \
organize_tokens.c \
expander.c \
expand_token.c \
get_keys.c \
get_values.c \
get_nbr_of_keys.c \
token_utils.c \
create_args.c \
SIGNALS_SRC = handle_signals.c \
PIPES_SRC = pipes_util.c \
validator.c \
BUILT_SRC = built_ins1.c \
built_ins2.c \
UTILS_SRC = utils01.c \
utils02.c \
utils03.c \
utils04.c \
utils05.c \
utils06.c \
utils07.c \
skip_spaces.c \
remove_quotes.c \
mem_alloc.c \
frees01.c \
gnl.c \
OBJS = ${PARSING:.c=.o} \
${SIGNALS:.c=.o} \
${UTILS:.c=.o} \
${BASE:.c=.o} \
${BUILT:.c=.o} \
${PIPES:.c=.o} \
all: $(NAME)
$(NAME): $(OBJS)
$(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(NAME) $(INCLUDES)
exe: all
valgrind --leak-check=full --track-origins=yes ./$(NAME)
clean:
@rm -rf $(OBJS)
fclean: clean
@rm -rf $(NAME)
re: fclean all
.PHONY: all clean fclean re