| |
| 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 |
|
|