-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
executable file
·119 lines (86 loc) · 3.04 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
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
118
119
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: jpinyot <[email protected]> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2017/12/14 22:43:59 by jpinyot #+# #+# #
# Updated: 2018/05/06 20:03:10 by jpinyot ### ########.fr #
# #
# **************************************************************************** #
NAME_SWAP = push_swap
NAME_CHECK = checker
FLAGS = -Wall -Wextra -Werror
SRC_DIR = srcs/
CHK_DIR = srcs/checker/
FUNC_DIR = srcs/funct/struct/
MRG_DIR = srcs/funct/merge/
BBL_DIR = srcs/funct/bubble/
CMND_DIR = srcs/comands/
SRTALG_DIR = srcs/sort_alg/
SRC = main_ps.c\
push_swap.c\
CHECK = main_c.c\
checker.c\
ft_print_stack.c\
checker_funct.c\
FUNC = ft_sort_num.c\
ft_lstnew_num.c\
ft_ret_new.c\
ft_del_num.c\
ft_del_ret.c\
ft_del_stack.c\
ft_stack_new.c\
ft_atoi_ps.c\
ft_flag_new.c\
ft_deldstr.c\
MRG = ft_merge_func.c\
ft_sort_top_a.c\
ft_sort_top_b.c\
ft_is_sort.c\
ft_merge_b.c\
ft_merge_a.c\
ft_merge_a_bgn.c\
BBL = ft_check_side.c\
ft_group_one_sort.c\
ft_group_sort.c
CMND = ft_swap.c\
ft_push.c\
ft_rotate.c\
ft_rv_rotate.c\
ft_rr.c\
ft_rrr.c\
ft_ss.c\
SRT_ALG = ft_bubble_one.c\
ft_bubble_group.c\
ft_merge_one.c\
OBJ_SRC = $(patsubst %.c, $(SRC_DIR)%.o, $(SRC))
OBJ_CHECK = $(patsubst %.c, $(CHK_DIR)%.o, $(CHECK))
OBJ_FUNC = $(patsubst %.c, $(FUNC_DIR)%.o, $(FUNC))
OBJ_MRG = $(patsubst %.c, $(MRG_DIR)%.o, $(MRG))
OBJ_BBL = $(patsubst %.c, $(BBL_DIR)%.o, $(BBL))
OBJ_CMND = $(patsubst %.c, $(CMND_DIR)%.o, $(CMND))
OBJ_SRT = $(patsubst %.c, $(SRTALG_DIR)%.o, $(SRT_ALG))
OBJ = $(SRC:.c=.o) $(FUNC:.c=.o) $(CMND:.c=.o) $(SRT_ALG:.c=.o) $(MRG:.c=.o) $(BBL:.c=.o)
OBJ_C = $(CHECK:.c=.o) $(FUNC:.c=.o) $(CMND:.c=.o) $(SRT_ALG:.c=.o) $(MRG:.c=.o) $(BBL:.c=.o)
all: $(NAME_SWAP) $(NAME_CHECK)
$(NAME_SWAP): $(OBJ_SRC) $(OBJ_FUNC) $(OBJ_CMND) $(OBJ_SRT) $(OBJ_MRG) $(OBJ_BBL)
@$(MAKE) -C libft
@gcc $(FLAGS) -L./libft/ -lft -L./libft/ft_printf -lftprintf -I./includes $(OBJ) -o $(NAME_SWAP)
%.o : %.c
@gcc $(FLAGS) -I./includes -c $<
$(NAME_CHECK): $(OBJ_CHECK) $(OBJ_FUNC) $(OBJ_CMND) $(OBJ_SRT) $(OBJ_MRG) $(OBJ_BBL)
@$(MAKE) -C libft
@gcc $(FLAGS) -L./libft/ -lft -L./libft/ft_printf -lftprintf -I./includes $(OBJ_C) -o $(NAME_CHECK)
%.o : %.c
@gcc $(FLAGS) -I./includes -c $<
clean:
@$(MAKE) -C libft clean
@/bin/rm -f $(OBJ) $(OBJ_C)
fclean: clean
@$(MAKE) -C libft fclean
@/bin/rm -f $(NAME_SWAP) $(NAME_CHECK)
re: fclean
@make
.PHONY: all clean fclean re