2015-03-05 12:46:31 -05:00
|
|
|
DOMAIN=lxd
|
|
|
|
|
POFILES=$(wildcard po/*.po)
|
|
|
|
|
MOFILES=$(patsubst %.po,%.mo,$(POFILES))
|
|
|
|
|
LINGUAS=$(basename $(POFILES))
|
|
|
|
|
POTFILE=po/$(DOMAIN).pot
|
|
|
|
|
|
|
|
|
|
# dist is primarily for use when packaging; for development we still manage
|
|
|
|
|
# dependencies via `go get` explicitly.
|
|
|
|
|
# TODO: use git describe for versioning
|
2016-12-16 15:36:53 -05:00
|
|
|
VERSION=$(shell grep "var Version" shared/version/flex.go | cut -d'"' -f2)
|
2015-03-05 12:46:31 -05:00
|
|
|
ARCHIVE=lxd-$(VERSION).tar
|
2017-01-27 13:12:59 -05:00
|
|
|
TAGS=$(shell test -e /usr/include/sqlite3.h && echo "-tags libsqlite3")
|
2015-03-05 12:46:31 -05:00
|
|
|
|
2014-11-07 03:58:32 -06:00
|
|
|
.PHONY: default
|
|
|
|
|
default:
|
2016-06-03 15:00:46 -04:00
|
|
|
# Must a few times due to go get race
|
|
|
|
|
-go get -t -v -d ./...
|
2015-08-24 00:03:25 -04:00
|
|
|
-go get -t -v -d ./...
|
2015-08-19 11:40:50 -07:00
|
|
|
-go get -t -v -d ./...
|
2017-01-27 13:12:59 -05:00
|
|
|
go install -v $(TAGS) $(DEBUG) ./...
|
2016-02-11 21:20:29 +01:00
|
|
|
@echo "LXD built successfully"
|
2014-11-07 03:58:32 -06:00
|
|
|
|
2015-08-03 10:56:47 -04:00
|
|
|
.PHONY: client
|
2015-08-03 10:25:35 -04:00
|
|
|
client:
|
2016-06-03 15:00:46 -04:00
|
|
|
# Must a few times due to go get race
|
|
|
|
|
-go get -t -v -d ./...
|
2015-08-24 00:03:25 -04:00
|
|
|
-go get -t -v -d ./...
|
2015-08-19 11:40:50 -07:00
|
|
|
-go get -t -v -d ./...
|
2017-01-27 13:12:59 -05:00
|
|
|
go install -v $(TAGS) $(DEBUG) ./lxc
|
2016-02-11 21:20:29 +01:00
|
|
|
@echo "LXD client built successfully"
|
2015-08-03 10:25:35 -04:00
|
|
|
|
2015-12-20 22:15:21 -05:00
|
|
|
.PHONY: update
|
|
|
|
|
update:
|
2016-06-03 15:00:46 -04:00
|
|
|
# Must a few times due to go get race
|
|
|
|
|
-go get -t -v -d -u ./...
|
2015-12-20 22:15:21 -05:00
|
|
|
-go get -t -v -d -u ./...
|
|
|
|
|
go get -t -v -d -u ./...
|
|
|
|
|
@echo "Dependencies updated"
|
|
|
|
|
|
2015-03-10 15:23:10 -06:00
|
|
|
# This only needs to be done when migrate.proto is actually changed; since we
|
|
|
|
|
# commit the .pb.go in the tree and it's not expected to change very often,
|
|
|
|
|
# it's not a default build step.
|
|
|
|
|
.PHONY: protobuf
|
|
|
|
|
protobuf:
|
2015-09-15 15:45:18 -06:00
|
|
|
protoc --go_out=. ./lxd/migrate.proto
|
2015-03-10 15:23:10 -06:00
|
|
|
|
2014-11-07 03:58:32 -06:00
|
|
|
.PHONY: check
|
|
|
|
|
check: default
|
2016-10-04 15:04:04 -06:00
|
|
|
go get -v -x github.com/rogpeppe/godeps
|
2015-12-07 13:56:31 -05:00
|
|
|
go get -v -x github.com/remyoudompheng/go-misc/deadcode
|
2017-02-14 11:41:34 -05:00
|
|
|
go get -v -x github.com/golang/lint/golint
|
2017-01-27 13:12:59 -05:00
|
|
|
go test -v $(TAGS) $(DEBUG) ./...
|
2014-11-07 06:07:22 -06:00
|
|
|
cd test && ./main.sh
|
2014-11-07 03:58:32 -06:00
|
|
|
|
2015-06-30 18:09:34 -06:00
|
|
|
gccgo:
|
2017-01-27 13:12:59 -05:00
|
|
|
go build -v $(TAGS) $(DEBUG) -compiler gccgo ./...
|
2016-02-11 21:20:29 +01:00
|
|
|
@echo "LXD built successfully with gccgo"
|
2015-06-30 18:09:34 -06:00
|
|
|
|
2015-01-28 06:54:44 +01:00
|
|
|
.PHONY: dist
|
|
|
|
|
dist:
|
2016-12-16 16:21:49 -05:00
|
|
|
# Cleanup
|
|
|
|
|
rm -Rf $(ARCHIVE).gz
|
|
|
|
|
|
|
|
|
|
# Create build dir
|
2016-09-28 01:27:52 -04:00
|
|
|
$(eval TMP := $(shell mktemp -d))
|
2016-12-16 16:21:49 -05:00
|
|
|
git archive --prefix=lxd-$(VERSION)/ HEAD | tar -x -C $(TMP)
|
|
|
|
|
mkdir -p $(TMP)/dist/src/github.com/lxc
|
|
|
|
|
ln -s ../../../../lxd-$(VERSION) $(TMP)/dist/src/github.com/lxc/lxd
|
|
|
|
|
|
|
|
|
|
# Download dependencies
|
|
|
|
|
-cd $(TMP)/lxd-$(VERSION) && GOPATH=$(TMP)/dist go get -t -v -d ./...
|
|
|
|
|
-cd $(TMP)/lxd-$(VERSION) && GOPATH=$(TMP)/dist go get -t -v -d ./...
|
|
|
|
|
-cd $(TMP)/lxd-$(VERSION) && GOPATH=$(TMP)/dist go get -t -v -d ./...
|
|
|
|
|
cd $(TMP)/lxd-$(VERSION) && GOPATH=$(TMP)/dist go get -t -v -d ./...
|
|
|
|
|
|
|
|
|
|
# Assemble tarball
|
|
|
|
|
rm $(TMP)/dist/src/github.com/lxc/lxd
|
|
|
|
|
ln -s ../../../../ $(TMP)/dist/src/github.com/lxc/lxd
|
|
|
|
|
mv $(TMP)/dist $(TMP)/lxd-$(VERSION)/
|
|
|
|
|
tar --exclude-vcs -C $(TMP) -zcf $(ARCHIVE).gz lxd-$(VERSION)/
|
|
|
|
|
|
|
|
|
|
# Cleanup
|
|
|
|
|
rm -Rf $(TMP)
|
2015-01-29 11:28:36 +01:00
|
|
|
|
2015-05-26 13:38:52 -04:00
|
|
|
.PHONY: i18n update-po update-pot build-mo static-analysis
|
2015-03-05 12:46:31 -05:00
|
|
|
i18n: update-pot
|
|
|
|
|
|
|
|
|
|
po/%.mo: po/%.po
|
|
|
|
|
msgfmt --statistics -o $@ $<
|
|
|
|
|
|
|
|
|
|
po/%.po: po/$(DOMAIN).pot
|
|
|
|
|
msgmerge -U po/$*.po po/$(DOMAIN).pot
|
|
|
|
|
|
|
|
|
|
update-po:
|
|
|
|
|
-for lang in $(LINGUAS); do\
|
|
|
|
|
msgmerge -U $$lang.po po/$(DOMAIN).pot; \
|
2015-09-12 16:27:02 +01:00
|
|
|
rm -f $$lang.po~; \
|
2015-03-05 12:46:31 -05:00
|
|
|
done
|
|
|
|
|
|
|
|
|
|
update-pot:
|
2016-06-21 20:34:37 -04:00
|
|
|
go get -v -x github.com/snapcore/snapd/i18n/xgettext-go/
|
2015-11-27 03:42:58 -05:00
|
|
|
xgettext-go -o po/$(DOMAIN).pot --add-comments-tag=TRANSLATORS: --sort-output --package-name=$(DOMAIN) --msgid-bugs-address=lxc-devel@lists.linuxcontainers.org --keyword=i18n.G --keyword-plural=i18n.NG *.go shared/*.go lxc/*.go lxd/*.go
|
2015-09-09 15:31:49 -04:00
|
|
|
|
2015-03-05 12:46:31 -05:00
|
|
|
build-mo: $(MOFILES)
|
2015-05-26 13:38:52 -04:00
|
|
|
|
|
|
|
|
static-analysis:
|
|
|
|
|
/bin/bash -x -c ". test/static_analysis.sh; static_analysis"
|
2015-08-21 09:47:20 -07:00
|
|
|
|
2015-10-22 09:03:48 -06:00
|
|
|
tags: *.go lxd/*.go shared/*.go lxc/*.go
|
2015-08-21 09:47:20 -07:00
|
|
|
find . | grep \.go | grep -v git | grep -v .swp | grep -v vagrant | xargs gotags > tags
|