github.com/alwaysproblem/mlserving-tutorial@v0.0.0-20221124033215-121cfddbfbf4/TFserving/ClientAPI/cpp/make/src/model-reload/Makefile (about) 1 HOST_SYSTEM = $(shell uname | cut -f 1 -d_) 2 SYSTEM ?= $(HOST_SYSTEM) 3 CC = g++ 4 CFLAGS = -c -Wall -std=c++11 -pthread -I/usr/local/include -I/cpp/src/gen 5 ifeq ($(SYSTEM),Darwin) 6 LDFLAGS = -L/usr/local/lib -L/grpc/cmake/build -lpthread -lprotobuf -lgrpc++ -lgrpc\ 7 -lgrpc++_reflection\ 8 -ldl 9 else 10 LDFLAGS = -L/usr/local/lib -L/grpc/cmake/build -L/usr/lib/x86_64-linux-gnu\ 11 -lboost_program_options -lprotobuf -pthread -lgrpc++ -lgrpc\ 12 -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\ 13 -ldl 14 endif 15 EXECUTABLE_NAME=main 16 17 BIN =./bin 18 SOURCE_DIR =./src 19 OBJ =./obj 20 21 TFDIRS = $(shell find /cpp/src/gen -type d) 22 23 # SOURCE_FILES =$(wildcard src/*.cc) $(wildcard src/**/*/*/*.cc) 24 SOURCE_FILES =$(foreach dir,$(TFDIRS),$(wildcard $(dir)/**.cc)) $(wildcard *.cc) 25 26 EXECUTABLE_FILES = $(EXECUTABLE_NAME:%=$(BIN)/%) 27 OBJECT_FILES = $(SOURCE_FILES:%.cc=$(OBJ)/%.o) 28 29 build: $(EXECUTABLE_FILES) 30 31 clean: 32 rm -r -f $(BIN) 33 rm -r -f $(OBJ) 34 35 .PHONY: build clean 36 37 $(EXECUTABLE_FILES): $(OBJECT_FILES) 38 @echo Linking $< 39 @mkdir -p $(@D) 40 @$(CC) $^ $(LDFLAGS) -o $@ 41 @echo "Build successful!" 42 43 $(OBJECT_FILES): $(OBJ)/%.o: %.cc 44 @echo Compiling $< 45 @mkdir -p $(@D) 46 @$(CC) $(CFLAGS) -o $@ $<