github.com/alwaysproblem/mlserving-tutorial@v0.0.0-20221124033215-121cfddbfbf4/TFserving/ClientAPI/cpp/make/src/tmp/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/usr/include -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  # SOURCE_FILES   =$(wildcard src/*.cc) $(wildcard src/**/*/*/*.cc)
    22  SOURCE_FILES   =$(wildcard *.cc)
    23  
    24  EXECUTABLE_FILES = $(EXECUTABLE_NAME:%=$(BIN)/%)
    25  OBJECT_FILES     = $(SOURCE_FILES:%.cc=$(OBJ)/%.o)
    26  
    27  build: $(EXECUTABLE_FILES)
    28  
    29  clean:
    30  	rm -r -f $(BIN)
    31  	rm -r -f $(OBJ)
    32  
    33  .PHONY: build clean
    34  
    35  $(EXECUTABLE_FILES): $(OBJECT_FILES)
    36  	@echo Linking $<
    37  	@mkdir -p $(@D)
    38  	@$(CC) $^ $(LDFLAGS) -o $@
    39  	@echo "Build successful!"
    40  
    41  $(OBJECT_FILES): $(OBJ)/%.o: %.cc
    42  	@echo Compiling $<
    43  	@mkdir -p $(@D)
    44  	@$(CC) $(CFLAGS) -o $@ $<