mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-23 14:32:25 +00:00
020ce29cd8
* fix: clean up Makefile dependencies to allow for parallel builds * refactor: remove old unused backend from Makefile * fix: finish removing legacy backend, update piper * fix: I broke llama... I fixed llama * feat: give the tests and builds a few threads * fix: ensure libraries are replaced before build, add dropreplace target * Fix image build workflows
67 lines
2.1 KiB
Makefile
67 lines
2.1 KiB
Makefile
# Basic platform detection
|
|
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
|
|
NUM_BUILD_THREADS?=$(shell nproc --ignore=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)
|
|
|
|
# windows need to set OPENSSL_NO_ASM. Results in slower crypto performance but doesn't build otherwise.
|
|
# May be resolvable, but for now its set. More info: https://stackoverflow.com/a/75240504/480673
|
|
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):
|
|
git clone --depth $(GIT_CLONE_DEPTH) -b $(TAG_LIB_GRPC) $(GIT_REPO_LIB_GRPC) $(GRPC_REPO)/grpc
|
|
cd $(GRPC_REPO)/grpc && git submodule update --jobs 2 --init --recursive --depth $(GIT_CLONE_DEPTH)
|
|
|
|
$(GRPC_BUILD): $(GRPC_REPO)
|
|
mkdir -p $(GRPC_BUILD)
|
|
cd $(GRPC_BUILD) && cmake $(CMAKE_ARGS) ../$(GRPC_REPO)/grpc && cmake --build . -- -j ${NUM_BUILD_THREADS} && cmake --build . --target install -- -j ${NUM_BUILD_THREADS}
|
|
|
|
build: $(INSTALLED_PACKAGES)
|
|
|
|
rebuild:
|
|
rm -rf grpc_build
|
|
$(MAKE) grpc_build
|
|
|
|
clean:
|
|
rm -rf grpc_build
|
|
rm -rf grpc_repo
|
|
rm -rf installed_packages
|