forked from jriou/coller
56 lines
2.3 KiB
Makefile
56 lines
2.3 KiB
Makefile
APPVERSION := $(shell cat ./VERSION)
|
|
GOVERSION := $(shell go version | awk '{print $$3}')
|
|
GITCOMMIT := $(shell git log -1 --oneline | awk '{print $$1}')
|
|
OS := $(shell uname -s | tr [A-Z] [a-z])
|
|
ARCH := $(shell uname -m | tr [A-Z] [a-z])
|
|
LDFLAGS = -X main.AppVersion=${APPVERSION} -X main.GoVersion=${GOVERSION} -X main.GitCommit=${GITCOMMIT}
|
|
DOCKER_IMAGE = golang:1.24-trixie
|
|
|
|
.PHONY: clean clean_for_releases test
|
|
|
|
build:
|
|
cd src \
|
|
&& go build -ldflags "${LDFLAGS}" -o ../bin/collerd cmd/collerd/main.go \
|
|
&& go build -ldflags "${LDFLAGS}" -o ../bin/copier cmd/copier/main.go \
|
|
&& go build -ldflags "${LDFLAGS}" -o ../bin/coller cmd/coller/main.go
|
|
|
|
build_linux_amd64:
|
|
cd src \
|
|
&& GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o ../bin/collerd-linux-amd64 cmd/collerd/main.go \
|
|
&& GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o ../bin/coller-linux-amd64 cmd/coller/main.go \
|
|
&& GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o ../bin/copier-linux-amd64 cmd/copier/main.go
|
|
|
|
build_darwin_arm64:
|
|
cd src \
|
|
&& GOOS=darwin GOARCH=arm64 go build -ldflags "${LDFLAGS}" -o ../bin/collerd-darwin-arm64 cmd/collerd/main.go \
|
|
&& GOOS=darwin GOARCH=arm64 go build -ldflags "${LDFLAGS}" -o ../bin/coller-darwin-arm64 cmd/coller/main.go \
|
|
&& GOOS=darwin GOARCH=arm64 go build -ldflags "${LDFLAGS}" -o ../bin/copier-darwin-arm64 cmd/copier/main.go
|
|
|
|
create_release:
|
|
mkdir -p releases/${APPVERSION} \
|
|
&& cp -p bin/collerd-linux-amd64 releases/${APPVERSION}/collerd-linux-amd64 \
|
|
&& cp -p bin/coller-linux-amd64 releases/${APPVERSION}/coller-linux-amd64 \
|
|
&& cp -p bin/copier-linux-amd64 releases/${APPVERSION}/copier-linux-amd64 \
|
|
&& cp -p bin/collerd-darwin-arm64 releases/${APPVERSION}/collerd-darwin-arm64 \
|
|
&& cp -p bin/coller-darwin-arm64 releases/${APPVERSION}/coller-darwin-arm64 \
|
|
&& cp -p bin/copier-darwin-arm64 releases/${APPVERSION}/copier-darwin-arm64
|
|
|
|
checksum:
|
|
cd releases/${APPVERSION} \
|
|
&& sha256sum collerd-* coller-* copier-* > checksums.txt
|
|
|
|
releases: build_linux_amd64 build_darwin_arm64 create_release checksum
|
|
|
|
releases_with_docker:
|
|
docker run -it -v $(shell pwd):/mnt -w /mnt -e "UID=$(shell id -u)" -e "GID=$(shell id -g)" ${DOCKER_IMAGE} ./docker/build.sh
|
|
|
|
dependencies:
|
|
npm install
|
|
|
|
test:
|
|
cd src \
|
|
&& go test internal/*.go \
|
|
&& go test server/*.go
|
|
|
|
clean:
|
|
rm -rf bin releases
|