#!/usr/bin/make PACKAGE=cando BOOTSTRAP_PYTHON=python INSTANCE_TYPE=cando2007 BUILDOUT_FLAGS= .PHONY: all all: build .PHONY: build build: bin/test .PHONY: bootstrap bootstrap bin/buildout python: $(BOOTSTRAP_PYTHON) bootstrap.py .PHONY: buildout buildout bin/test: python bin/buildout buildout.cfg base.cfg setup.py bin/buildout $(BUILDOUT_FLAGS) @touch --no-create bin/test .PHONY: bzrupdate bzrupdate: svn up .PHONY: update update: bzrupdate $(MAKE) buildout BUILDOUT_FLAGS=-n instance: $(MAKE) buildout bin/make-schooltool-instance instance instance_type=$(INSTANCE_TYPE) .PHONY: run run: build instance bin/start-schooltool-instance instance .PHONY: tags tags: build bin/tags .PHONY: clean clean: rm -rf bin develop-eggs parts python rm -rf build dist rm -f .installed.cfg rm -f ID TAGS tags find . -name '*.py[co]' -exec rm -f {} \; find . -name '*.mo' -exec rm -f {} + .PHONY: realclean realclean: clean rm -rf eggs rm -rf instance # Tests .PHONY: test test: build bin/test -u .PHONY: ftest ftest: build bin/test -f .PHONY: testall testall: build bin/test --at-level 2 # Coverage .PHONY: coverage coverage: build test -d parts/test/coverage && ! test -d coverage && mv parts/test/coverage . || true rm -rf coverage bin/test -u --coverage=coverage mv parts/test/coverage . .PHONY: coverage-reports-html coverage-reports-html coverage/reports: build test -d parts/test/coverage && ! test -d coverage && mv parts/test/coverage . || true rm -rf coverage/reports mkdir coverage/reports bin/coverage coverage coverage/reports ln -s $(PACKAGE).html coverage/reports/index.html .PHONY: publish-coverage-reports publish-coverage-reports: coverage/reports @test -n "$(DESTDIR)" || { echo "Please specify DESTDIR"; exit 1; } cp -r coverage/reports $(DESTDIR).new chmod -R a+rX $(DESTDIR).new rm -rf $(DESTDIR).old mv $(DESTDIR) $(DESTDIR).old || true mv $(DESTDIR).new $(DESTDIR) .PHONY: ftest-coverage ftest-coverage: build test -d parts/test/ftest-coverage && ! test -d ftest-coverage && mv parts/test/ftest-coverage . || true rm -rf ftest-coverage bin/test -f --coverage=ftest-coverage mv parts/test/ftest-coverage . .PHONY: ftest-coverage-reports-html ftest-coverage-reports-html ftest-coverage/reports: build test -d parts/test/ftest-coverage && ! test -d ftest-coverage && mv parts/test/ftest-coverage . || true rm -rf ftest-coverage/reports mkdir ftest-coverage/reports bin/coverage ftest-coverage ftest-coverage/reports ln -s $(PACKAGE).html ftest-coverage/reports/index.html .PHONY: publish-ftest-coverage-reports publish-ftest-coverage-reports: ftest-coverage/reports @test -n "$(DESTDIR)" || { echo "Please specify DESTDIR"; exit 1; } cp -r ftest-coverage/reports $(DESTDIR).new chmod -R a+rX $(DESTDIR).new rm -rf $(DESTDIR).old mv $(DESTDIR) $(DESTDIR).old || true mv $(DESTDIR).new $(DESTDIR) # Translations .PHONY: extract-translations extract-translations: build bin/i18nextract --egg $(PACKAGE) \ --domain $(PACKAGE) \ --zcml cando/translations.zcml \ --output-file src/cando/locales/cando.pot .PHONY: compile-translations compile-translations: set -e; \ locales=src/cando/locales; \ for f in $${locales}/*/LC_MESSAGES/cando.po; do \ msgfmt -o $${f%.po}.mo $$f;\ done .PHONY: update-translations update-translations: extract-translations set -e; \ locales=src/cando/locales; \ for f in $${locales}/*/LC_MESSAGES/$(PACKAGE).po; do \ msgmerge -qUF $$f $${locales}/$(PACKAGE).pot ;\ done $(MAKE) compile-translations # Release .PHONY: release release: bin/buildout compile-translations grep -qv 'dev' version.txt.in || echo -n `cat version.txt.in`_r`svnversion` > version.txt bin/buildout setup setup.py sdist rm -f version.txt .PHONY: move-release move-release: mv -v dist/cando-*.tar.gz /home/ftp/pub/schooltool/releases/nightly # Helpers .PHONY: ubuntu-environment ubuntu-environment: sudo apt-get install subversion build-essential gettext enscript \ python-all-dev libc6-dev libicu-dev libxslt1-dev libfreetype6-dev libjpeg62-dev