-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
41 lines (23 loc) · 980 Bytes
/
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
cc = g++ # clang++
cflags = -std=c++17 -O2 -g
cincludes := $(shell pkg-config --cflags libnsl)
lflags = -flto -g
llibs := $(shell pkg-config --libs libnsl)
objdir = obj
${objdir}/%.o: src/%.cpp
mkdir -p $(dir $@)
${cc} ${cflags} ${cincludes} -c $< -o $@
clienteTCP: obj/lib/addrinfo.o obj/lib/socket.o obj/lib/connsocket.o obj/client.o obj/clienteTCP.o
${cc} ${lflags} ${llibs} $+ -o $@
servidorTCP: obj/lib/addrinfo.o obj/lib/socket.o obj/lib/serversocket.o obj/lib/connsocket.o obj/server.o obj/servidorTCP.o
${cc} ${lflags} ${llibs} $+ -o $@
tcp: clienteTCP servidorTCP
clienteUDP: obj/lib/addrinfo.o obj/lib/socket.o obj/lib/pushsocket.o obj/client.o obj/clienteUDP.o
${cc} ${lflags} ${llibs} $+ -o $@
servidorUDP: obj/lib/addrinfo.o obj/lib/socket.o obj/lib/pushsocket.o obj/server.o obj/servidorUDP.o
${cc} ${lflags} ${llibs} $+ -o $@
udp: clienteUDP servidorUDP
all: udp tcp
clean:
rm -r ${objdir}
rm clienteTCP servidorTCP clienteUDP servidorUDP