-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
110 lines (73 loc) · 3.38 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
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: tale-fau <[email protected]> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2021/08/21 17:36:16 by tale-fau #+# #+# #
# Updated: 2021/08/25 01:57:17 by tale-fau ### ########.fr #
# #
# **************************************************************************** #
CC = clang
CFLAGS = -Wall -Wextra -Werror
INCLUDES = ./libft/libft.h \
./includes/minitalk.h \
LIBFT = ./libft/libft.a
LIB_DIR = ./libft
# ------------------------ CLIENT RESOURCES ------------------------------------
CLIENT_NAME = client
CLIENT_SRCS = ./clients/client.c \
./clients/send_message.c
CLIENT_OBJS = ${CLIENT_SRCS:.c=.o}
# ------------------------ SERVER RESOURCES ------------------------------------
SERVER_NAME = server
SERVER_SRCS = ./servers/server.c \
./servers/signal_handler.c
SERVER_OBJS = ${SERVER_SRCS:.c=.o}
# ------------------------ JOINED RESOURCES ------------------------------------
JOINED_SRCS = ./joined_resources/pid_check.c \
./joined_resources/ft_errors.c \
JOINED_OBJS = ${JOINED_SRCS:.c=.o}
# ------------------------ BONUS -----------------------------------------------
NAME_CLIENT_BONUS = client_bonus
NAME_SERVER_BONUS = server_bonus
CLIENT_SRCS_BONUS = ./bonus/clients/client_bonus.c \
./bonus/clients/send_message_bonus.c
SERVER_SRCS_BONUS = ./bonus/servers/message_bonus.c \
./bonus/servers/server_bonus.c \
./bonus/servers/signal_handler_bonus.c
JOINED_SRCS_BONUS = ./bonus/joined_resources/ft_errors_bonus.c \
./bonus/joined_resources/pid_check_bonus.c
CLIENT_OBJS_BONUS = ${CLIENT_SRCS_BONUS:.c=.o}
SERVER_OBJS_BONUS = ${SERVER_SRCS_BONUS:.c=.o}
JOINED_OBJS_BONUS = ${JOINED_SRCS_BONUS:.c=.o}
# ------------------------------------------------------------------------------
all: ${CLIENT_NAME} ${SERVER_NAME}
$(%.o): $(%.c)
@$(CC) -o $@ -c $^
${CLIENT_NAME}: ${CLIENT_OBJS} ${JOINED_OBJS}
@make -C ${LIB_DIR}
@${CC} -o $@ ${CLIENT_OBJS} ${JOINED_OBJS} -I./includes ${LIBFT}
${SERVER_NAME}: ${SERVER_OBJS}
@${CC} -o $@ ${SERVER_OBJS} ${JOINED_OBJS} -I./includes ${LIBFT}
bonus: ${NAME_CLIENT_BONUS} ${NAME_SERVER_BONUS}
$(NAME_CLIENT_BONUS): ${CLIENT_OBJS_BONUS} ${JOINED_OBJS_BONUS}
@make -C ${LIB_DIR}
@$(CC) -o $@ ${CLIENT_OBJS_BONUS} ${JOINED_OBJS_BONUS} -I./includes ${LIBFT}
$(NAME_SERVER_BONUS): ${SERVER_OBJS_BONUS}
@$(CC) -o $@ ${SERVER_OBJS_BONUS} ${JOINED_OBJS_BONUS} -I./includes ${LIBFT}
clean:
@rm -f servers/*.o
@rm -f clients/*.o
@rm -f joined_resources/*.o
@rm -f bonus/*/*.o
@make -C libft/ clean
@echo "\n files deleted\n"
fclean: clean
@make -C ${LIB_DIR} fclean
@${RM} -f ${CLIENT_NAME} ${SERVER_NAME} ${NAME_CLIENT_BONUS} ${NAME_SERVER_BONUS}
@${RM}
@echo "\n files deleted \n"
re: fclean all
.PHONY: all clean fclean re