build_linux.sh 887 Bytes
Newer Older
Michael Yang's avatar
Michael Yang committed
1
#!/bin/sh
2

Michael Yang's avatar
Michael Yang committed
3
4
5
6
set -eu

export VERSION=${VERSION:-0.0.0}
export GOFLAGS="'-ldflags=-w -s \"-X=github.com/jmorganca/ollama/version.Version=$VERSION\" \"-X=github.com/jmorganca/ollama/server.mode=release\"'"
7

8
BUILD_ARCH=${BUILD_ARCH:-"amd64 arm64"}
9
export AMDGPU_TARGETS=${AMDGPU_TARGETS:=""}
10
11
mkdir -p dist

12
for TARGETARCH in ${BUILD_ARCH}; do
13
14
15
16
17
    docker build \
        --platform=linux/$TARGETARCH \
        --build-arg=GOFLAGS \
        --build-arg=CGO_CFLAGS \
        --build-arg=OLLAMA_CUSTOM_CPU_DEFS \
18
        --build-arg=AMDGPU_TARGETS \
19
20
21
22
        --target build-$TARGETARCH \
        -f Dockerfile \
        -t builder:$TARGETARCH \
        .
23
24
25
    docker create --platform linux/$TARGETARCH --name builder-$TARGETARCH builder:$TARGETARCH
    docker cp builder-$TARGETARCH:/go/src/github.com/jmorganca/ollama/ollama ./dist/ollama-linux-$TARGETARCH
    docker rm builder-$TARGETARCH
26
done