1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- .PHONY: all default install uninstall test build release clean
- PREFIX := /usr
- DESTDIR :=
- ifndef VERSION
- MAJORVERSION := 7
- MINORVERSION ?= $(shell git rev-list --count master)
- endif
- VERSION := ${MAJORVERSION}.${MINORVERSION}
- LDFLAGS := -ldflags '-s -w -X main.version=${VERSION}'
- GOFILES := $(shell ls *.go | grep -v /vendor/)
- ARCH := $(shell uname -m)
- PKGNAME := yay
- BINNAME := yay
- PACKAGE := ${PKGNAME}_${VERSION}_${ARCH}
- export GOPATH=$(shell pwd)/.go
- export GOROOT=/usr/lib/go
- default: build
- all: | clean package
- install:
- install -Dm755 ${BINNAME} $(DESTDIR)$(PREFIX)/bin/${BINNAME}
- install -Dm644 doc/${PKGNAME}.8 $(DESTDIR)$(PREFIX)/share/man/man8/${PKGNAME}.8
- install -Dm644 completions/bash $(DESTDIR)$(PREFIX)/share/bash-completion/completions/${PKGNAME}
- install -Dm644 completions/zsh $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_${PKGNAME}
- install -Dm644 completions/fish $(DESTDIR)$(PREFIX)/share/fish/vendor_completions.d/${PKGNAME}.fish
- uninstall:
- rm -f $(DESTDIR)$(PREFIX)/bin/${BINNAME}
- rm -f $(DESTDIR)$(PREFIX)/share/man/man8/${PKGNAME}.8
- rm -f $(DESTDIR)$(PREFIX)/share/bash-completion/completions/${PKGNAME}
- rm -f $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_${PKGNAME}
- rm -f $(DESTDIR)$(PREFIX)/share/fish/vendor_completions.d/${PKGNAME}.fish
- test:
- gofmt -l *.go
- @test -z "$$(gofmt -l *.go)" || (echo "Files need to be linted" && false)
- go vet
- go test -v
- build:
- go build -v ${LDFLAGS} -o ${BINNAME}
- release: | test build
- mkdir ${PACKAGE}
- cp ./${BINNAME} ${PACKAGE}/
- cp ./doc/${PKGNAME}.8 ${PACKAGE}/
- cp ./completions/zsh ${PACKAGE}/
- cp ./completions/fish ${PACKAGE}/
- cp ./completions/bash ${PACKAGE}/
- package: release
- tar -czvf ${PACKAGE}.tar.gz ${PACKAGE}
- clean:
- rm -rf ${PKGNAME}_*
- rm -f ${BINNAME}
|