summaryrefslogtreecommitdiff
path: root/Makefile
blob: e6cd85a45b196f4f671754a62254822be19a6733 (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
all:
	# You must use the current protoc-gen-go
	# protoc --version 3.6++ does not mean that protoc will generate version3 .go files
	#
	# apt remove golang-goprotobuf-dev
	# apt install protobuf-compiler
	#
	# Then:
	# go get -u github.com/golang/protobuf/protoc-gen-go
	# cd ~/go/src/github.com/golang/protobuf/protoc-gen-go
	# go install
	#
	# Then:
	protoc --version
	make droplet.pb.go
	make hypervisor.pb.go
	make cluster.pb.go
	cd configfile && make

vet:
	GO111MODULE=off go vet

lint:
	buf lint droplet.proto

# autofixes your import headers in your golang files
goimports:
	goimports -w *.go

redomod:
	rm -f go.*
	GO111MODULE= go mod init
	GO111MODULE= go mod tidy

clean:
	rm -f *.pb.go
	-rm -f go.*
	cd configfile && make clean

droplet.pb.go: droplet.proto
	# protoc --go_out=. droplet.proto
	# This is switched over to use the new protoc-gen-go from   google.golang.org/protobuf/cmd/protoc-gen-go
	# the debian one (2024/10/21) seems to be the older/original one from github.com/golang/protobuf/protoc-gen-go
	cd ~/go/src && protoc --go_out=. --proto_path=go.wit.com/lib/protobuf/virtbuf \
		--go_opt=Mdroplet.proto=go.wit.com/lib/protobuf/virtbuf \
		droplet.proto

hypervisor.pb.go: hypervisor.proto
	cd ~/go/src && protoc --go_out=. --proto_path=go.wit.com/lib/protobuf/virtbuf \
		--go_opt=Mhypervisor.proto=go.wit.com/lib/protobuf/virtbuf \
		hypervisor.proto

cluster.pb.go: cluster.proto
	cd ~/go/src && protoc --go_out=. --proto_path=go.wit.com/lib/protobuf/virtbuf \
		--go_opt=Mdroplet.proto=go.wit.com/lib/protobuf/virtbuf \
		--go_opt=Mcluster.proto=go.wit.com/lib/protobuf/virtbuf \
		--go_opt=Mhypervisor.proto=go.wit.com/lib/protobuf/virtbuf \
		cluster.proto


events.pb.go: events.proto
	protoc --go_out=. events.proto

account.pb.go: account.proto
	protoc --go_out=. account.proto

config.pb.go: config.proto
	protoc --go_out=. config.proto

compile:
	protoc --go_out=. *.proto

deps:
	apt install golang-goprotobuf-dev
	apt install protobuf-compiler

push:
	git pull
	git add --all
	git commit -a -s
	git push