~replaceafill/schooltool/cando-multi-term-gradebook

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Justas Sadzevicius
  • Date: 2012-02-04 15:24:01 UTC
  • Revision ID: justas@pov.lt-20120204152401-rhvnqks04hh6qxxg
Initial schooltool.cando egg.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/make
 
2
 
 
3
PACKAGE=schooltool.cando
 
4
LOCALES=src/schooltool/cando/locales
 
5
TRANSLATIONS_ZCML=schooltool/cando/translations.zcml
 
6
 
 
7
DIST=/home/ftp/pub/schooltool/flourish
 
8
PYTHON=python
 
9
 
 
10
INSTANCE_TYPE=schooltool
 
11
BUILDOUT_FLAGS=
 
12
 
 
13
.PHONY: all
 
14
all: build
 
15
 
 
16
.PHONY: build
 
17
build: .installed.cfg
 
18
 
 
19
python:
 
20
        rm -rf python
 
21
        virtualenv --no-site-packages -p $(PYTHON) python
 
22
 
 
23
.PHONY: bootstrap
 
24
bootstrap bin/buildout: python
 
25
        python/bin/python bootstrap.py
 
26
 
 
27
.PHONY: buildout
 
28
buildout .installed.cfg: python bin/buildout buildout.cfg base.cfg setup.py
 
29
        bin/buildout $(BUILDOUT_FLAGS)
 
30
 
 
31
.PHONY: update
 
32
update:
 
33
        bzr up
 
34
        $(MAKE) buildout BUILDOUT_FLAGS=-n
 
35
 
 
36
instance: | build
 
37
        bin/make-schooltool-instance instance instance_type=$(INSTANCE_TYPE)
 
38
 
 
39
.PHONY: run
 
40
run: build instance
 
41
        bin/start-schooltool-instance instance
 
42
 
 
43
.PHONY: tags
 
44
tags: build
 
45
        bin/tags
 
46
 
 
47
.PHONY: clean
 
48
clean:
 
49
        rm -rf python
 
50
        rm -rf bin develop-eggs parts .installed.cfg
 
51
        rm -rf build
 
52
        rm -f ID TAGS tags
 
53
        rm -rf coverage ftest-coverage
 
54
        find . -name '*.py[co]' -delete
 
55
        find . -name '*.mo' -delete
 
56
        find . -name 'LC_MESSAGES' -exec rmdir -p --ignore-fail-on-non-empty {} +
 
57
 
 
58
.PHONY: realclean
 
59
realclean:
 
60
        rm -rf eggs
 
61
        rm -rf dist
 
62
        rm -rf instance
 
63
        $(MAKE) clean
 
64
 
 
65
# Tests
 
66
 
 
67
.PHONY: test
 
68
test: build
 
69
        bin/test -u
 
70
 
 
71
.PHONY: ftest
 
72
ftest: build
 
73
        bin/test -f
 
74
 
 
75
.PHONY: testall
 
76
testall: build
 
77
        bin/test --at-level 2
 
78
 
 
79
# Coverage
 
80
 
 
81
.PHONY: coverage
 
82
coverage: build
 
83
        rm -rf coverage
 
84
        bin/test --at-level 2 -u --coverage=$(CURDIR)/coverage
 
85
 
 
86
.PHONY: coverage-reports-html
 
87
coverage-reports-html coverage/reports: build
 
88
        test -d coverage || $(MAKE) coverage
 
89
        rm -rf coverage/reports
 
90
        mkdir coverage/reports
 
91
        bin/coverage coverage coverage/reports
 
92
        ln -s $(PACKAGE).html coverage/reports/index.html
 
93
 
 
94
.PHONY: ftest-coverage
 
95
ftest-coverage: build
 
96
        rm -rf ftest-coverage
 
97
        bin/test --at-level 2 -f --coverage=$(CURDIR)/ftest-coverage
 
98
 
 
99
.PHONY: ftest-coverage-reports-html
 
100
ftest-coverage-reports-html ftest-coverage/reports: build
 
101
        test -d ftest-coverage || $(MAKE) ftest-coverage
 
102
        rm -rf ftest-coverage/reports
 
103
        mkdir ftest-coverage/reports
 
104
        bin/coverage ftest-coverage ftest-coverage/reports
 
105
        ln -s $(PACKAGE).html ftest-coverage/reports/index.html
 
106
 
 
107
# Translations
 
108
 
 
109
.PHONY: extract-translations
 
110
extract-translations: build
 
111
        bin/i18nextract --egg $(PACKAGE) \
 
112
                        --domain $(PACKAGE) \
 
113
                        --zcml $(TRANSLATIONS_ZCML) \
 
114
                        --output-file $(LOCALES)/$(PACKAGE).pot
 
115
 
 
116
.PHONY: compile-translations
 
117
compile-translations:
 
118
        for f in $(LOCALES)/*.po; do \
 
119
            mkdir -p $${f%.po}/LC_MESSAGES; \
 
120
            msgfmt -o $${f%.po}/LC_MESSAGES/$(PACKAGE).mo $$f;\
 
121
        done
 
122
 
 
123
.PHONY: update-translations
 
124
update-translations:
 
125
        for f in $(LOCALES)/*.po; do \
 
126
            msgmerge -qUN $$f $(LOCALES)/$(PACKAGE).pot ;\
 
127
        done
 
128
        $(MAKE) compile-translations
 
129
 
 
130
# Release
 
131
 
 
132
.PHONY: release
 
133
release: compile-translations
 
134
        grep -qv 'dev' version.txt.in || echo -n `cat version.txt.in`-r`bzr revno` > version.txt
 
135
        $(PYTHON) setup.py sdist
 
136
        rm -f version.txt
 
137
 
 
138
.PHONY: move-release
 
139
move-release: upload
 
140
        rm -v dist/$(PACKAGE)-*dev-r*.tar.gz
 
141
 
 
142
.PHONY: upload
 
143
upload:
 
144
        @VERSION=`cat version.txt.in` ;\
 
145
        DIST=$(DIST) ;\
 
146
        grep -qv 'dev' version.txt.in || VERSION=`cat version.txt.in`-r`bzr revno` ;\
 
147
        grep -qv 'dev' version.txt.in || DIST=$(DIST)/dev ;\
 
148
        if [ -w $${DIST} ] ; then \
 
149
            echo cp dist/$(PACKAGE)-$${VERSION}.tar.gz $${DIST} ;\
 
150
            cp dist/$(PACKAGE)-$${VERSION}.tar.gz $${DIST} ;\
 
151
        else \
 
152
            echo scp dist/$(PACKAGE)-$${VERSION}.tar.gz* schooltool.org:$${DIST} ;\
 
153
            scp dist/$(PACKAGE)-$${VERSION}.tar.gz* schooltool.org:$${DIST} ;\
 
154
        fi
 
155
 
 
156
# Helpers
 
157
 
 
158
.PHONY: ubuntu-environment
 
159
ubuntu-environment:
 
160
        sudo apt-get install bzr build-essential gettext enscript ttf-liberation \
 
161
            python-all-dev python-virtualenv \
 
162
            libicu-dev libxslt1-dev libfreetype6-dev libjpeg62-dev
 
163