29 lines
783 B
Makefile
29 lines
783 B
Makefile
DOGGO-BIN := doggo
|
|
|
|
HASH := $(shell git rev-parse --short HEAD)
|
|
BUILD_DATE := $(shell date '+%Y-%m-%d %H:%M:%S')
|
|
VERSION := ${HASH}
|
|
|
|
.PHONY: build
|
|
build: ## Build the doggo binary
|
|
mkdir -p bin/; \
|
|
cd cmd/; \
|
|
go build -ldflags="-X 'main.buildVersion=${VERSION}' -X 'main.buildDate=${BUILD_DATE}'" -o ${DOGGO-BIN} ./... && \
|
|
mv ${DOGGO-BIN} ../bin/${DOGGO-BIN}
|
|
|
|
.PHONY: run
|
|
run: build ## Build and Execute the binary after the build step
|
|
./bin/${DOGGO-BIN}
|
|
|
|
fresh: clean build
|
|
|
|
clean:
|
|
go clean
|
|
- rm -f ./bin/${BIN}
|
|
|
|
# pack-releases runns stuffbin packing on a given list of
|
|
# binaries. This is used with goreleaser for packing
|
|
# release builds for cross-build targets.
|
|
pack-releases:
|
|
$(foreach var,$(RELEASE_BUILDS),stuffbin -a stuff -in ${var} -out ${var} ${STATIC} $(var);)
|