diff --git a/Makefile b/Makefile deleted file mode 100644 index 656b45dfafe27ee4d0801765fdcfe94c11cb4e52..0000000000000000000000000000000000000000 --- a/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -.PHONY: docs -docs: env - env/bin/sphinx-build -b html docs/source docs/build/html - env/bin/sphinx-build -b texinfo docs/source docs/build/texinfo - -env: - virtualenv env - env/bin/pip install Sphinx==1.4.1 sphinx-rtd-theme==0.1.9 - -clean: - rm -rf env - rm -rf docs/build diff --git a/Makefile.packaging b/Makefile.packaging new file mode 100644 index 0000000000000000000000000000000000000000..1192e7ff6f1fcdbccb0e97efaca8f65614b05a3d --- /dev/null +++ b/Makefile.packaging @@ -0,0 +1,78 @@ +# Copyright (C) 2016 Savoir-faire Linux Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +############################## +## Version number variables ## +############################## +# YYYY-MM-DD +LAST_COMMIT_DATE:=$(shell git log -1 --format=%cd --date=short) + +# number of commits that day +NUMBER_OF_COMMITS:=$(shell git log --format=%cd --date=short | grep -c $(LAST_COMMIT_DATE)) + +# YYMMDD +LAST_COMMIT_DATE_SHORT:=$(shell echo $(LAST_COMMIT_DATE) | sed -s 's/-//g') + +# last commit id +COMMIT_ID:=$(shell git rev-parse --short HEAD) + +RELEASE_VERSION:=$(LAST_COMMIT_DATE_SHORT).$(NUMBER_OF_COMMITS).$(COMMIT_ID) +RELEASE_TARBALL_FILENAME:=ring_$(RELEASE_VERSION).tar.gz + +##################### +## Other variables ## +##################### +TMPDIR := $(shell mktemp -d) + +############################# +## Release tarball targets ## +############################# +.PHONY: release-tarball +release-tarball: $(RELEASE_TARBALL_FILENAME) + +$(RELEASE_TARBALL_FILENAME): + # Fetch tarballs + mkdir -p daemon/contrib/native + cd daemon/contrib/native && \ + ../bootstrap && \ + make fetch-all + rm -rf daemon/contrib/native + + cd $(TMPDIR) && \ + tar -C $(CURDIR)/.. \ + --exclude-vcs \ + -zcf $(RELEASE_TARBALL_FILENAME) \ + $(shell basename $(CURDIR)) && \ + mv $(RELEASE_TARBALL_FILENAME) $(CURDIR) + + rm -rf $(CURDIR)/daemon/contrib/tarballs/* + +################### +## Other targets ## +################### +.PHONY: docs +docs: env + env/bin/sphinx-build -b html docs/source docs/build/html + env/bin/sphinx-build -b texinfo docs/source docs/build/texinfo + +env: + virtualenv env + env/bin/pip install Sphinx==1.4.1 sphinx-rtd-theme==0.1.9 + +.PHONY: clean +clean: + rm -rf env + rm -rf docs/build + rm -f ring_*.tar.gz