#!/usr/bin/make # # Makefile for SchoolBell # # $Id$ PYTHON=python TESTFLAGS=-w1 POT=src/schoolbell/app/locales/schoolbell.pot PO=$(wildcard src/schoolbell/app/locales/*/LC_MESSAGES/*.po) PYTHONPATH=src:Zope3/src .PHONY: all all: build Zope3: svn co svn://svn.zope.org/repos/main/Zope3/branches/3.2 Zope3 .PHONY: build build: Zope3 [ ! -d Zope3 ] || cd Zope3 && $(PYTHON) setup.py build_ext -i $(PYTHON) setup.py build $(PYTHON) remove-stale-bytecode.py .PHONY: clean clean: find . \( -path './src/*.mo' -o -name '*.o' \ -o -name '*.py[co]' \) -exec rm -f {} \; rm -rf build rm -rf rosetta-schoolbell-ui rm -f rosetta-schoolbell-ui.tar.gz .PHONY: realclean realclean: clean find . \( -name '*.so' -o -name '*.pyd' \) -exec rm -f {} \; rm -f Data.fs* tags ID *.log rm -f MANIFEST rm -rf dist .PHONY: test test: build LC_ALL="C" $(PYTHON) test.py $(TESTFLAGS) .PHONY: ftest ftest: build $(PYTHON) test.py -f $(TESTFLAGS) .PHONY: run run: build $(PYTHON) schoolbell-server.py .PHONY: dist dist: realclean build update-translations clean rm -rf dist find . -name '*.py[dco]' -exec rm -f {} \; $(PYTHON) setup.py sdist --formats=schooltooltgz .PHONY: signtar signtar: dist md5sum dist/school*.tar.gz > dist/md5sum gpg --clearsign dist/md5sum mv dist/md5sum.asc dist/md5sum .PHONY: extract-translations extract-translations: build # here for backwards compatibility only, # setup.py does the work! .PHONY: update-translations update-translations: set -e; for f in $(PO); do \ msgmerge -U $$f $(POT); \ msgfmt -o $${f%.po}.mo $$f; \ done rosetta-schoolbell-ui.tar.gz: wget $(TRANSLATION) && touch `basename $(TRANSLATION)` rosetta-schoolbell-ui: rosetta-schoolbell-ui.tar.gz tar -xmzf rosetta-schoolbell-ui.tar.gz src/schoolbell/app/locales/%/LC_MESSAGES/schoolbell.po: rosetta-schoolbell-ui mkdir -p `dirname $@` cp rosetta-schoolbell-ui/$*.po $@ .PHONY: get-rosetta-translations get-rosetta-translations: rosetta-schoolbell-ui $(foreach locale,$(basename $(notdir $(wildcard rosetta-schoolbell-ui/*.po))),src/schoolbell/app/locales/$(locale)/LC_MESSAGES/schoolbell.po)