PKGBUILD/Makefile

49 lines
1.3 KiB
Makefile

# UID/GID
# UID or GID is the UNIX user ID or group ID of the user who executes
# make. If the UID or GID is not passed as a make variable, an attempt
# is made to determine it.
UID?=$(shell id --user)
GID?=$(shell id --group)
# VERSION
# If no version is specified as a parameter of make, the last git hash
# value is taken.
VERSION:=$(or ${TRAVIS_TAG}, $(shell git rev-parse --short HEAD)-git)
CONTAINER_RUNTIME?=$(shell which docker)
GOARCH?=amd64
GOOS?=linux
# default build
go-build: bindata
GOOS=${GOOS} \
GOARCH=${GOARCH} \
go build -ldflags "-X main.version=${VERSION}"
chown -R ${UID}:${GID} *
go-test: go-build
go test -v ./pkg/...
bindata:
go-bindata -pkg db -o ./pkg/db/bindataSQL.go ./pkg/db/sql/***
go-bindata -pkg goldenfiles -o ./test/goldenfiles/bindata.go ./test/goldenfiles/json/***
container-go-build:
$(MAKE) container-run COMMAND=go-build
container-go-test:
$(MAKE) container-run COMMAND=go-test
container-run:
${CONTAINER_RUNTIME} run \
--volume ${PWD}:/workspace \
--rm \
volkerraschek/build-image:latest\
make ${COMMAND} UID=${UID} GID=${GID} VERSION=${VERSION} GOOS=${GOOS} GOARCH=${GOARCH}
remote:
$(MAKE) go-build GOARCH=arm
scp flucky ${FLUCKY_REMOTE}:/usr/local/bin
ssh ${FLUCKY_REMOTE} "chmod +x /usr/local/bin/flucky"