summaryrefslogtreecommitdiff
path: root/Makefile
blob: c85cc0d908933f23053662a0cdd24d233c169673 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
.PHONY: build

VERSION = $(shell git describe --tags)
GUIVERSION = $(shell git describe --tags)
# BUILDTIME = $(shell date +%Y.%m.%d)
BUILDTIME = $(shell date +%s)

all: install

build-all-oses: go-build build-darwin build-windows

go-build: goimports
	GO111MODULE=off go build \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"

verbose:
	GO111MODULE=off go build -v -x \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"

install: goimports
	GO111MODULE=off go install \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"

build-darwin:
	GOOS=darwin GOARCH=amd64 GO111MODULE=off go build -v -o wit-darwin.x86 \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"

build-darwin-arm64:
	GOOS=darwin GOARCH=arm64 GO111MODULE=off go build -v -o wit-darwin.arm \
		-ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"

build-windows:
	GOOS=windows GOARCH=amd64 GO111MODULE=off go build -v -o wit.exe \
		-ldflags "-X main.VERSION=v0.7.46 -X main.BUILDTIME=2025.02.22_0643 -X gui.GUIVERSION=v0.7.46"

vet:
	GO111MODULE=off go vet

stderr: go-build
	echo "writing to /tmp/wit-test.log"
	./wit-test >/tmp/wit-test.log 2>&1

goimports:
	goimports -w *.go
	# // to globally reset paths:
	# // gofmt -w -r '"go.wit.com/gui/gadgets" -> "go.wit.com/lib/gadgets"' *.go

clean:
	rm -f go.*
	go-mod-clean purge

gpl:
	wit-test --witcom

check-git-clean:
	@git diff-index --quiet HEAD -- || (echo "Git repository is dirty, please commit your changes first"; exit 1)

old-debian-release: install
	wit-test debian --dry-run --verbose --release

debian-release-build-only: install
	wit-test debian --verbose --release

apt-update:
	apt-get update \
		-o Dir::Etc::sourcelist=/etc/apt/sources.list.d/wit.list \
		-o Dir::Etc::sourceparts=/dev/null \
		-o APT::Get::List-Cleanup=0

publish:
	GUIRELEASE_REASON="test publish" wit publish