# Makefile for p4survey
BINARY=p4survey
# These are the values we want to pass for VERSION and BUILD
# git tag 1.0.1
# git commit -am "One more change after the tags"
# VERSION=`git describe --tags`
# BUILD_DATE=`date +%FT%T%z`
# USER=`git config user.email`
# BRANCH=`git rev-parse --abbrev-ref HEAD`
# REVISION=`git rev-parse --short HEAD`
# # Setup the -ldflags option for go build here, interpolate the variable values
# # Note the Version module is in a different git repo.
# MODULE="github.com/perforce/p4prometheus"
# LDFLAGS=-ldflags "-w -s -X ${MODULE}/version.Version=${VERSION} -X ${MODULE}/version.BuildDate=${BUILD_DATE} -X ${MODULE}/version.Branch=${BRANCH} -X ${MODULE}/version.Revision=${REVISION} -X ${MODULE}/version.BuildUser=${USER}"
LDFLAGS=-ldflags "-w -s "
SRC_FILES=${BINARY}.go
# Builds the project
build:
go build ${LDFLAGS}
# Builds distribution
dist:
GOOS=darwin GOARCH=arm64 go build ${LDFLAGS} -o bin/${BINARY}.darwin-arm64 ${SRC_FILES}
GOOS=darwin GOARCH=amd64 go build ${LDFLAGS} -o bin/${BINARY}.darwin-amd64 ${SRC_FILES}
GOOS=linux GOARCH=arm64 go build ${LDFLAGS} -o bin/${BINARY}.linux-arm64 ${SRC_FILES}
GOOS=linux GOARCH=amd64 go build ${LDFLAGS} -o bin/${BINARY}.linux-amd64 ${SRC_FILES}
GOOS=windows GOARCH=amd64 go build ${LDFLAGS} -o bin/${BINARY}.windows-amd64.exe ${SRC_FILES}
rm -f bin/${BINARY}*arm64*.gz bin/${BINARY}*amd64*.gz
-chmod +x bin/${BINARY}*arm64* bin/${BINARY}*amd64*
gzip bin/${BINARY}*arm64* bin/${BINARY}*amd64*
# Cleans our project: deletes binaries
clean:
if [ -f ${BINARY} ] ; then rm ${BINARY} ; fi
.PHONY: clean install