|
|
|
HOST_SYSTEM = $(shell uname | cut -f 1 -d_) |
|
SYSTEM ?= $(HOST_SYSTEM) |
|
|
|
TAG_LIB_GRPC?=v1.59.0 |
|
GIT_REPO_LIB_GRPC?=https://github.com/grpc/grpc.git |
|
GIT_CLONE_DEPTH?=1 |
|
|
|
INSTALLED_PACKAGES=installed_packages |
|
GRPC_REPO=grpc_repo |
|
GRPC_BUILD=grpc_build |
|
|
|
export CMAKE_ARGS?= |
|
CMAKE_ARGS+=-DCMAKE_BUILD_TYPE=Release |
|
CMAKE_ARGS+=-DgRPC_INSTALL=ON |
|
CMAKE_ARGS+=-DEXECUTABLE_OUTPUT_PATH=../$(INSTALLED_PACKAGES)/grpc/bin |
|
CMAKE_ARGS+=-DLIBRARY_OUTPUT_PATH=../$(INSTALLED_PACKAGES)/grpc/lib |
|
CMAKE_ARGS+=-DgRPC_BUILD_TESTS=OFF |
|
CMAKE_ARGS+=-DgRPC_BUILD_CSHARP_EXT=OFF |
|
CMAKE_ARGS+=-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON |
|
CMAKE_ARGS+=-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF |
|
CMAKE_ARGS+=-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF |
|
CMAKE_ARGS+=-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF |
|
CMAKE_ARGS+=-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF |
|
CMAKE_ARGS+=-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON |
|
CMAKE_ARGS+=-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF |
|
CMAKE_ARGS+=-Dprotobuf_WITH_ZLIB=ON |
|
CMAKE_ARGS+=-DRE2_BUILD_TESTING=OFF |
|
CMAKE_ARGS+=-DCMAKE_INSTALL_PREFIX=../$(INSTALLED_PACKAGES) |
|
|
|
|
|
|
|
ifeq ($(SYSTEM),MSYS) |
|
CMAKE_ARGS+=-DOPENSSL_NO_ASM=ON |
|
endif |
|
ifeq ($(SYSTEM),MINGW64) |
|
CMAKE_ARGS+=-DOPENSSL_NO_ASM=ON |
|
endif |
|
ifeq ($(SYSTEM),MINGW32) |
|
CMAKE_ARGS+=-DOPENSSL_NO_ASM=ON |
|
endif |
|
ifeq ($(SYSTEM),CYGWIN) |
|
CMAKE_ARGS+=-DOPENSSL_NO_ASM=ON |
|
endif |
|
|
|
$(INSTALLED_PACKAGES): grpc_build |
|
|
|
$(GRPC_REPO): |
|
mkdir -p $(GRPC_REPO)/grpc |
|
cd $(GRPC_REPO)/grpc && \ |
|
git init && \ |
|
git remote add origin $(GIT_REPO_LIB_GRPC) && \ |
|
git fetch origin && \ |
|
git checkout $(TAG_LIB_GRPC) && \ |
|
git submodule update --init --recursive --depth 1 --single-branch |
|
|
|
$(GRPC_BUILD): $(GRPC_REPO) |
|
mkdir -p $(GRPC_BUILD) |
|
cd $(GRPC_BUILD) && cmake $(CMAKE_ARGS) ../$(GRPC_REPO)/grpc && cmake --build . && cmake --build . --target install |
|
|
|
build: $(INSTALLED_PACKAGES) |
|
|
|
rebuild: |
|
rm -rf grpc_build |
|
$(MAKE) grpc_build |
|
|
|
clean: |
|
rm -rf grpc_build |
|
rm -rf grpc_repo |
|
rm -rf installed_packages |
|
|