Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
У меня вот так, используется protobuf, который надо компилить и еще нужно константы снаружи прокидывать в GO код:
NAME=ixshot
IMPORTBASE=gitlab.com/ixshot/ixshot
SYSCONFIGDIR=/etc/${NAME}
DATADIR=/usr/share/${NAME}
LDFLAGS=-ldflags "-X ${IMPORTBASE}/pkg/consts.SysConfigDir=${SYSCONFIGDIR} -X ${IMPORTBASE}/pkg/consts.SysDataDir=${DATADIR}"
all: ixshot-controller.x ixshot-processor.x
ixshot-controller.x: pkg/messages/lightroomtask.pb.go
go build ${LDFLAGS} ./cmd/ixshot-controller
ixshot-processor.x: pkg/messages/lightroomtask.pb.go
go build ${LDFLAGS} ./cmd/ixshot-processor
pkg/messages/lightroomtask.pb.go: pkg/messages/lightroomtask.proto
protoc --plugin=`which protoc-gen-go` --go_out=. pkg/messages/*.proto
Всякие install и deps убрал, с ними вроде все более-менее понятно
Переводчику спасибо, но — src/, main.go без cmd/
Пример создания Makefile для Go-приложений