summaryrefslogtreecommitdiff
path: root/Makefile
blob: eb2075ce15d7b8f439e934a8dadedf091ada90c1 (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
.PHONY: build

VERSION = $(shell git describe --tags)
BUILDTIME = $(shell date +%s)

justinstall: install-verbose

# This will re-generate ALL of the needed autogenerated .pb.go files
generate: clean
	go mod init
	go mod tidy
	go generate
	@echo "MAKE GENERATE RAN IN EACH KNOWN REPO OK"

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

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

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

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

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

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)

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

commit:
	forge commit --all

merge:
	forge merge --all

deb-with-commits:
	forge commit --all
	forge merge devel
	rm -f ~/incoming/*.deb
	forge commit --all
	forge normal
	wit build install
	wit test version
	wit build deb --force

deb-with-commits-all:
	make commit
	make merge
	rm -f ~/incoming/*.deb
	forge commit --all
	forge normal
	wit build deb --all --force

deb-with-commits-all-riscv64:
	make commit
	make merge
	rm -f ~/incoming/*.deb
	forge commit --all
	forge normal
	wit build deb --all --force
	wit build deb --all --force --arch riscv64
	wit build deb --all --force --arch amd64

all:
	forge commit --all
	forge merge --all
	forge show masterdefault
	-forge mode master
	forge show masterdefault
	-forge mode master
	forge show masterdefault
	-forge mode master
	cd ~/go/src/go.wit.com/toolkits/andlabs/ && make
	@echo "\"now: make publish\" or time GUIRELEASE_REASON=\"safe-build\" make test-build-new"

publish:
	GUIRELEASE_REASON="automated" wit publish
	forge show
	-forge mode master
	forge show masterdefault
	-forge mode master
	forge show masterdefault
	echo "got to the end ok"
	echo make deb-with-commits-all