-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
72 lines (60 loc) · 2.09 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: rmonnier <[email protected]> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2016/11/03 10:17:46 by rmonnier #+# #+# #
# Updated: 2017/02/15 19:18:26 by rmonnier ### ########.fr #
# #
# **************************************************************************** #
NAME = minishell
SRCS_NAME = builtin_cd.c\
builtin_echo.c\
builtin_env.c\
builtin_exit.c\
builtin_pwd.c\
builtin_setenv.c\
builtin_unsetenv.c\
exec_builtin.c\
exec_cmd.c\
ft_getenv.c\
ft_getenv_ptr.c\
ft_setenv.c\
ft_strjoindelimiter.c\
ft_strtab_add.c\
ft_strtab_delone.c\
ft_strtab_dup.c\
ft_strtab_free.c\
ft_strtab_print.c\
get_cmd_path.c\
is_valid_path.c\
is_builtin.c\
main.c\
minishell_errors.c\
parse_prompt.c
SRCS_PATH = srcs/
SRCS = $(addprefix $(SRCS_PATH), $(SRCS_NAME))
OBJ_NAME = $(SRCS_NAME:.c=.o)
OBJ_PATH = obj/
OBJ = $(addprefix $(OBJ_PATH), $(OBJ_NAME))
FLAGS = -Wall -Werror -Wextra
INC = -I./includes/ -I./libft/includes/
LIB = -L./libft/ -lft
.PHONY: all, clean, fclean, re
$(NAME): $(OBJ)
make -C libft/
gcc $(FLAGS) $(INC) $(LIB) -o $(NAME) $(OBJ)
all: $(NAME)
$(OBJ_PATH)%.o: $(SRCS_PATH)%.c
@mkdir -p obj
gcc -c $(FLAGS) $(INC) -o $@ $<
debug:
@echo $(SRCS)
clean:
make -C libft/ fclean
/bin/rm -rf $(OBJ)
fclean: clean
/bin/rm -rf $(NAME)
re: fclean all