-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
63 lines (54 loc) · 1.06 KB
/
Makefile
File metadata and controls
63 lines (54 loc) · 1.06 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
NAME := minishell
CC := gcc
INCLUDE := minishell.h
CFLAGS := -I $(INCLUDE) -I ./libft/libft.h
LIBFT = libft
FLAGS = -Wall -Wextra -Werror -g
SRC := check_builtin.c \
echo_env.c \
export_unset.c \
cd.c \
utils2.c \
check.c \
check_utils.c \
dup2_fd.c \
exec_free.c \
exec_free2.c \
exec.c \
run_execve.c \
run_execve1.c \
expander.c \
create_files_utils.c \
create_files.c \
heredoc_utils.c \
heredoc.c \
lexer.c \
exit.c \
main.c \
parser.c \
parser_utils.c \
signal.c \
expander_utils.c \
utils.c \
exec_utils.c \
utils3.c
OBJ := $(SRC:%.c=%.o)
all: $(NAME)
$(NAME): $(OBJ)
@echo "Compiling..."
@make -C $(LIBFT)
@cp libft/libft.a .
@printf "\e[35mLIBFT: \e[32mDONE \e[0m\n"
@$(CC) $(FLAGS) $(CFLAGS) $(OBJ) libft.a -lreadline -o $@
@printf "\e[35mMINISHELL: \e[32mDONE\e[0m\n"
.c.o:
@${CC} ${FLAGS} ${CFLAGS} -c $< -o ${<:.c=.o}
clean:
@echo "Cleaning..."
@make clean -C $(LIBFT)
@rm -rf libft.a
@rm -rf $(OBJ)
fclean: clean
@rm -f $(NAME)
re: fclean all
.PHONY: all clean fclean re