-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
77 lines (43 loc) · 1.43 KB
/
Makefile
File metadata and controls
77 lines (43 loc) · 1.43 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
SRCSERV = src/server.c src/servfuncs.c src/commonfncs.c
OBJSERV = ${SRCSERV:.c=.o}
INCLUDE = includes/
SRCCLNT = src/client.c src/clfuncs.c src/commonfncs.c
OBJCLNT = ${SRCCLNT:.c=.o}
SRCSERVBON = src/server_bonus.c src/servfuncs_bonus.c src/commonfncs_bonus.c
OBJSERVBON = ${SRCSERVBON:.c=.o}
SRCCLNTBON = src/client_bonus.c src/clfuncs_bonus.c src/commonfncs_bonus.c
OBJCLNTBON = ${SRCCLNTBON:.c=.o}
CC = gcc
CFLAGS = -Wall -Werror -Wextra
RM = rm -f
NAME = minitalk
NAMEBON = minitalk_bonus
SENAME = server
CLNAME = client
SENAMEBON = server_bonus
CLNAMEBON = client_bonus
%.o: %.c ${INCLUDE} Makefile
${CC} ${CFLAGS} -c $< -o $@ -I ${INCLUDE}
all: $(NAME)
$(NAME): Makefile ${INCLUDE} $(CLNAME) $(SENAME)
$(CLNAME): ${OBJCLNT}
${CC} ${CFLAGS} ${OBJCLNT} -o ${CLNAME}
$(SENAME): ${OBJSERV}
${CC} ${CFLAGS} ${OBJSERV} -o ${SENAME}
clean:
${RM} ${OBJSERV} ${OBJCLNT}
fclean: clean
${RM} ${SENAME} ${CLNAME}
re: fclean all
bonus: $(NAMEBON)
$(NAMEBON): Makefile ${INCLUDE} $(CLNAMEBON) $(SENAMEBON)
$(SENAMEBON): ${OBJSERVBON}
${CC} ${CFLAGS} ${OBJSERVBON} -o ${SENAMEBON}
$(CLNAMEBON): ${OBJCLNTBON}
${CC} ${CFLAGS} ${OBJCLNTBON} -o ${CLNAMEBON}
cleanbonus:
${RM} ${OBJSERVBON} ${OBJCLNTBON}
fcleanbonus: cleanbonus
${RM} ${SENAMEBON} ${CLNAMEBON}
rebonus: fcleanbonus bonus
.PHONY: ${NAME} all clean fclean re ${NAMEBON} bonus cleanbonus fcleanbonus rebonus