# Copyright © 2023 Thomas von Dein # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # no need to modify anything below tool = upd version = $(shell egrep "= .v" cfg/config.go | cut -d'=' -f2 | cut -d'"' -f 2) archs = android darwin freebsd linux netbsd openbsd windows PREFIX = /usr/local UID = root GID = 0 BRANCH = $(shell git branch --show-current) COMMIT = $(shell git rev-parse --short=8 HEAD) BUILD = $(shell date +%Y.%m.%d.%H%M%S) VERSION := $(if $(filter $(BRANCH), development),$(version)-$(BRANCH)-$(COMMIT)-$(BUILD),$(version)) HAVE_POD := $(shell pod2text -h 2>/dev/null) all: buildlocal buildlocal: go build -ldflags "-X 'github.com/tlinden/up/upd/cfg.VERSION=$(VERSION)'" release: ./mkrel.sh $(tool) $(version) gh release create $(version) --generate-notes releases/* install: buildlocal install -d -o $(UID) -g $(GID) $(PREFIX)/bin install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/ clean: rm -rf $(tool) releases coverage.out test: go test -v ./... # bash t/test.sh singletest: @echo "Call like this: ''make singletest TEST=TestX1 MOD=lib" go test -run $(TEST) github.com/tlinden/upd/$(MOD) cover-report: go test ./... -cover -coverprofile=coverage.out go tool cover -html=coverage.out show-versions: buildlocal @echo "### upd version:" @./upd --version @echo @echo "### go module versions:" @go list -m all @echo @echo "### go version used for building:" @grep -m 1 go go.mod goupdate: go get -t -u=patch ./...