-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
61 lines (50 loc) · 2.11 KB
/
Makefile
File metadata and controls
61 lines (50 loc) · 2.11 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: bschneid <bschneid@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2024/05/30 17:25:14 by bschneid #+# #+# #
# Updated: 2024/09/19 17:01:23 by bschneid ### ########.fr #
# #
# **************************************************************************** #
NAME = minishell
HEADER = header/minishell.h
LIBFT = src/0_Libft_extended
SRC_DIR = src
BI = src/1_builtins
ST = src/2_syntax_tree
PA = src/3_parsing
EX = src/4_execution
OT = src/5_others
OBJ_DIR = obj
SOURCES = $(BI)/cd.c $(BI)/echo.c $(BI)/env.c $(BI)/exit.c $(BI)/export.c\
$(BI)/linkedlist_utils.c $(BI)/pwd.c $(BI)/unset.c $(BI)/utils.c\
$(BI)/var_init.c $(BI)/variables.c\
$(ST)/ast.c $(ST)/tokens_help.c $(ST)/tokens.c\
$(PA)/helpers.c $(PA)/heredoc.c $(PA)/parsing.c $(PA)/redirections.c\
$(EX)/exec_help.c $(EX)/exec.c $(EX)/split_cmd.c \
$(EX)/var_expand.c $(EX)/var_helpers.c $(EX)/waiting.c $(EX)/wildcard.c\
$(OT)/debug_funcs.c $(OT)/error_memory.c $(OT)/init.c $(OT)/signals.c\
$(OT)/proof.c\
src/main.c
OBJECTS = $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SOURCES))
FLAGS = -Wall -Werror -Wextra -g3
all: $(NAME)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
@mkdir -p $(dir $@)
cc $(FLAGS) -c $< -o $@
$(NAME): $(OBJECTS) $(HEADER) $(LIBFT)/libft.a
cc $(FLAGS) $(OBJECTS) -o $@ -lreadline -L./$(LIBFT) -lft
$(LIBFT)/libft.a:
$(MAKE) -C $(LIBFT) -f Makefile bonus
$(MAKE) -C $(LIBFT) -f Makefile clean
clean:
rm -rf $(OBJ_DIR)
bonus: all
fclean: clean
rm -f $(NAME)
rm -f $(LIBFT)/libft.a
re: fclean all
.PHONY: all bonus clean fclean re