-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathMakefile
executable file
·59 lines (41 loc) · 1.71 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
## NanoRPC
CC = g++
CCFLAGS = -ansi -Wall -Wno-deprecated -O2 -DNDEBUG
CCFLAGS += -I/opt/local/include
CCFLAGS += -I/usr/local/include
LDFLAGS = -rdynamic
LDFLAGS += -L/opt/local/lib
LDFLAGS += -L/usr/local/lib
PROTOC = protoc
MKDIR = mkdir -p
PROTO_INCLUDE = -I/opt/local/include
PROTO_LDFLAGS = -L/opt/local/lib -lprotobuf
NANOMSG_INCLUDE = -I/usr/local/include
NANOMSG_LDFLAGS = -L/usr/local/lib -lnanomsg
CITYHASH_INCLUDE = -I/usr/local/include
CITYHASH_LDFLAGS = -L/usr/local/lib -lcityhash
USE_LDFLAGS = $(PROTO_LDFLAGS) $(CITYHASH_LDFLAGS) $(NANOMSG_LDFLAGS)
TMPLIB = .libs
SERVER_SOURCES = $(TMPLIB)/Server.o $(TMPLIB)/echo.pb.o
CHANNEL_SOURCES = $(TMPLIB)/Channel.o $(TMPLIB)/echo.pb.o
all: mkdir echo_client echo_server
mkdir:
$(MKDIR) $(TMPLIB)
echo_client: $(CHANNEL_SOURCES) $(TMPLIB)/EchoClient.o
$(CC) $(CCFLAGS) $(LDFLAGS) $(USE_LDFLAGS) -o echo_client $(CHANNEL_SOURCES) $(TMPLIB)/EchoClient.o
echo_server: $(SERVER_SOURCES) $(TMPLIB)/EchoServer.o
$(CC) $(CCFLAGS) $(LDFLAGS) $(USE_LDFLAGS) -o echo_server $(SERVER_SOURCES) $(TMPLIB)/EchoServer.o
$(TMPLIB)/Channel.o: RpcChannel.cc RpcChannel.hh
$(CC) -c $(CCFLAGS) RpcChannel.cc -o $(TMPLIB)/Channel.o
$(TMPLIB)/Server.o: RpcServer.cc RpcServer.hh
$(CC) -c $(CCFLAGS) RpcServer.cc -o $(TMPLIB)/Server.o
$(TMPLIB)/EchoClient.o: EchoClient.cc EchoEndpoint.hh
$(CC) -c $(CCFLAGS) EchoClient.cc -o $(TMPLIB)/EchoClient.o
$(TMPLIB)/EchoServer.o: EchoServer.cc EchoEndpoint.hh
$(CC) -c $(CCFLAGS) EchoServer.cc -o $(TMPLIB)/EchoServer.o
$(TMPLIB)/echo.pb.o: echo.pb.cc echo.pb.h
$(CC) -c $(CCFLAGS) echo.pb.cc -o $(TMPLIB)/echo.pb.o
echo.pb.cc echo.pb.h: echo.proto
$(PROTOC) --cpp_out=. echo.proto
clean:
rm -f echo_client echo_server $(TMPLIB)/*.o