-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
54 lines (39 loc) · 2.29 KB
/
Copy pathMakefile
File metadata and controls
54 lines (39 loc) · 2.29 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
LDFLAGS = -L/usr/local/lib, `pkg-config --libs protobuf grpc++`\
-lgrpc++_reflection\
-ldl -lpthread\
CXX = g++
CPPFLAGS += `pkg-config --cflags protobuf grpc`
CXXFLAGS += -std=c++11
GRPC_CPP_PLUGIN = grpc_cpp_plugin
GRPC_CPP_PLUGIN_PATH ?= `which $(GRPC_CPP_PLUGIN)`
SRC1 = $(wildcard ./mapreduce/*.cc)
SRC2 = $(wildcard ./mapper/*.cc)
SRC3 = $(wildcard ./reducer/*.cc)
SRC4 = $(wildcard ./grpc/*.cc)
SRC5 = $(wildcard ./tools/*.cc)
MAPREDUCE_OBJ = $(patsubst %.cc,%.o,$(SRC1))
MAPPER_OBJ = $(patsubst %.cc,%.o,$(SRC2))
REDUCER_OBJ = $(patsubst %.cc,%.o,$(SRC3))
GRPC_OBJ = $(patsubst %.cc,%.o,$(SRC4))
TOOLS_OBJ = $(patsubst %.cc,%.o,$(SRC5))
all: ./build/wordc_client ./build/wordc_mapper ./build/wordc_reducer ./build/grep_client ./build/grep_mapper ./build/grep_reducer
./build/wordc_client: mapper.pb.o mapper.grpc.pb.o reducer.pb.o reducer.grpc.pb.o bin/driver.o bin/mr_wordc.o $(MAPREDUCE_OBJ) $(GRPC_OBJ) $(TOOLS_OBJ) test.o
$(CXX) $^ $(LDFLAGS) -o $@
./build/wordc_mapper: mapper.pb.o mapper.grpc.pb.o reducer.pb.o reducer.grpc.pb.o $(MAPPER_OBJ) $(MAPREDUCE_OBJ) bin/mr_wordc.o $(GRPC_OBJ) $(TOOLS_OBJ) driver.o
$(CXX) $^ $(LDFLAGS) -o $@
./build/wordc_reducer: mapper.pb.o mapper.grpc.pb.o reducer.pb.o reducer.grpc.pb.o $(REDUCER_OBJ) $(MAPREDUCE_OBJ) bin/mr_wordc.o $(GRPC_OBJ) $(TOOLS_OBJ) driver.o
$(CXX) $^ $(LDFLAGS) -o $@
./build/grep_client: mapper.pb.o mapper.grpc.pb.o reducer.pb.o reducer.grpc.pb.o bin/driver.o bin/mr_grep.o $(MAPREDUCE_OBJ) $(GRPC_OBJ) $(TOOLS_OBJ) test.o
$(CXX) $^ $(LDFLAGS) -o $@
./build/grep_mapper: mapper.pb.o mapper.grpc.pb.o reducer.pb.o reducer.grpc.pb.o $(MAPPER_OBJ) $(MAPREDUCE_OBJ) bin/mr_grep.o $(GRPC_OBJ) $(TOOLS_OBJ) driver.o
$(CXX) $^ $(LDFLAGS) -o $@
./build/grep_reducer: mapper.pb.o mapper.grpc.pb.o reducer.pb.o reducer.grpc.pb.o $(REDUCER_OBJ) $(MAPREDUCE_OBJ) bin/mr_grep.o $(TOOLS_OBJ) $(GRPC_OBJ) driver.o
$(CXX) $^ $(LDFLAGS) -o $@
%.grpc.pb.cc: %.proto
protoc --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $<
%.pb.cc: %.proto
protoc --cpp_out=. $<
clean:
rm -f *.o *.pb.cc *.pb.h ./build/wordc_client ./build/wordc_mapper ./build/wordc_reducer \
./build/grep_client ./build/grep_mapper ./build/grep_reducer \
$(MAPREDUCE_OBJ) $(GRPC_OBJ) $(MAPPER_OBJ) $(REDUCER_OBJ) $(TOOLS_OBJ) \