-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
executable file
·74 lines (53 loc) · 1.62 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
NAME_PUSH = push_swap
NAME_CHECKER = checker
CC = gcc
CFLAGS = -Wall -Wextra -Werror
PUSH_SRCS = push_swap_utils.c \
make_opt_code.c \
parser.c \
utils.c \
utils2.c \
main.c \
moves_printer.c \
moves.c \
moves2.c \
debug.c \
lis.c \
../checker_files/checker_utils.c \
../checker_files/checker_main.c
PUSH_DIR = ./push_swap_files
CHECKER_SRCS = checker_main.c \
get_commands.c \
checker.c \
commands.c \
checker_utils.c \
main.c
CHECKER_DIR = ./checker_files
LIBFT_DIR = ./libft
PUSH_DIRSRCS = $(addprefix ${PUSH_DIR}/, ${PUSH_SRCS})
PUSH_OBJS = ${PUSH_DIRSRCS:.c=.o}
CHECKER_DIRSRCS = $(addprefix ${CHECKER_DIR}/, ${CHECKER_SRCS})
CHECKER_OBJS = ${CHECKER_DIRSRCS:.c=.o}
%.o: %.c
$(CC) ${CFLAGS} -g -c $< -o $@
all: checker push_swap
@(echo "\033[32m=== PUSH_SWAP AND CHECKER PROJECT COMPILED ===\033[0m")
push_swap: libft ${PUSH_OBJS}
$(CC) ${CFLAGS} -o ${NAME_PUSH} ${PUSH_OBJS} libft.a
@(echo "\033[32m=== PUSH_SWAP PROJECT COMPILED ===\033[0m")
checker: libft ${CHECKER_OBJS}
$(CC) ${CFLAGS} ${CHECKER_OBJS} libft.a -o ${NAME_CHECKER}
@(echo "\033[32m=== CHECKER PROJECT COMPILED ===\033[0m")
libft:
make bonus -C $(LIBFT_DIR)
cp libft/libft.a ./libft.a
clean:
make clean -C $(LIBFT_DIR)
rm -f ./checker_files/*.o
rm -f ./push_swap_files/*.o
fclean: clean
rm -f $(NAME_PUSH) $(NAME_CHECKER) ./libft.a
make fclean -C $(LIBFT_DIR)
@echo "\033[33m=== PROJECT CLEANED ===\033[0m"
re: fclean all
.PHONY: all clean fclean re push_swap checker libft