-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
117 lines (99 loc) · 3.75 KB
/
Copy pathMakefile
File metadata and controls
117 lines (99 loc) · 3.75 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: dbarba-v <dbarba-v@student.42madrid.com +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2025/06/18 11:28:00 by dbarba-v #+# #+# #
# Updated: 2025/07/17 20:40:58 by dbarba-v ### ########.fr #
# #
# **************************************************************************** #
NAME = minishell
CC = cc
CFLAGS = -Wall -Werror -Wextra
RM = rm -f
INCLUDES = -I./include -I./libft/include -I./ft_printf
LIBS = -lreadline -L./libft/lib -lft -L./ft_printf -lftprintf
LIBFT = ./libft/lib/libft.a
FT_PRINTF = ./ft_printf/libftprintf.a
BINDIR = ./bin
SRCS = src/main.c \
src/prompt/prompt_input.c \
src/prompt/prompt_utils.c \
src/environment/get_environment_array.c \
src/environment/regenerate_environment.c \
src/environment/check_environment.c \
src/signals/signals.c \
src/tokenization/add_token.c \
src/tokenization/create_token.c \
src/tokenization/handler.c \
src/tokenization/tokenizer_utils.c \
src/tokenization/tokenizer.c \
src/expansion/check_token_list.c \
src/expansion/expander_utils.c \
src/expansion/expander.c \
src/expansion/retrieve_input.c \
src/freeing_utils/array_i.c \
src/freeing_utils/strings.c \
src/freeing_utils/environ_list.c \
src/freeing_utils/minishell.c \
src/freeing_utils/token_list.c \
src/freeing_utils/cmds.c \
src/refine/refine_token_roles.c \
src/syntax/syntax_analysis.c \
src/syntax/syntax_analysis_utils.c \
src/syntax/syntax_analysis_utils2.c \
src/syntax/syntax_check.c \
src/syntax/syntax_getcmd.c \
src/initialization/minishell.c \
src/error/malloc.c \
src/error/syntax.c \
src/exits/minishell.c \
src/execution/execution.c \
src/execution/mini_pipex/exec_commands.c \
src/execution/mini_pipex/manage_sons.c \
src/execution/mini_pipex/pipex_utils.c \
src/execution/mini_pipex/pipex_utils2.c \
src/execution/mini_pipex/pipex_utils3.c \
src/execution/mini_pipex/is_cmd_valid.c \
src/execution/mini_pipex/is_cmd_valid2.c \
src/execution/mini_pipex/pipex.c \
src/execution/mini_pipex/manage_heredoc.c \
src/execution/mini_pipex/manage_sons_utils.c \
src/builtins/builtin_pwd.c \
src/builtins/builtin_env.c \
src/builtins/builtin_export.c \
src/builtins/builtin_export_extra.c \
src/builtins/builtin_echo.c \
src/builtins/builtin_unset.c \
src/builtins/builtin_cd.c \
src/builtins/builtin_exit.c \
src/tokenization/join_tokens.c
OBJS = $(SRCS:%.c=objects/%.o)
OUTPUT = $(BINDIR)/$(NAME)
all: $(OUTPUT)
$(OUTPUT): $(OBJS) $(LIBFT) $(FT_PRINTF)
@mkdir -p $(BINDIR)
$(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@
$(LIBFT):
$(MAKE) -C ./libft
$(FT_PRINTF):
$(MAKE) -C ./ft_printf
objects/%.o: %.c
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
clean: cleanlibft cleanftprintf
$(RM) $(OBJS)
fclean: clean fcleanlibft fcleanftprintf
$(RM) $(OUTPUT)
cleanlibft:
make -C ./libft/ clean
fcleanlibft: cleanlibft
make -C ./libft/ fclean
cleanftprintf:
make -C ./ft_printf/ clean
fcleanftprintf: cleanftprintf
make -C ./ft_printf/ fclean
re: fclean all
.PHONY: all clean fclean re libft cleanlibft fcleanlibft ft_printf cleanftprintf fcleanftprintf