Skip to content
Newer
Older
100644 753 lines (631 sloc) 25.2 KB
f160f36 @hanke BF: Meaningful Makefile targets for DOC clean and out-of-source-build
hanke authored
1 PROFILE_FILE=$(CURDIR)/$(BUILDDIR)/main.pstats
2 COVERAGE_REPORT=$(CURDIR)/$(BUILDDIR)/coverage
3 BUILDDIR=$(CURDIR)/build
c9f4f9a @otizonaizit PY3: added specific py3 unittest target to Makefile
otizonaizit authored
4 BUILD3DIR=$(CURDIR)/build/py3k
f160f36 @hanke BF: Meaningful Makefile targets for DOC clean and out-of-source-build
hanke authored
5 HTML_DIR=$(BUILDDIR)/html
ce9083c @yarikoptic BF: since now there is doc/source -- we got DOC_DIR as well to comple…
yarikoptic authored
6 DOC_DIR=$(CURDIR)/doc
e7d202f @yarikoptic RF: using tutorial_data from within datadb
yarikoptic authored
7 TUT_DIR=$(CURDIR)/datadb/tutorial_data/tutorial_data
ce9083c @yarikoptic BF: since now there is doc/source -- we got DOC_DIR as well to comple…
yarikoptic authored
8 DOCSRC_DIR=$(DOC_DIR)/source
9a61837 @hanke BF+DOC: Move examples to the new docs.
hanke authored
9 DOCBUILD_DIR=$(BUILDDIR)/doc
d8fd21b @hanke DOC: Integrate IPython notebooks into the web page.
hanke authored
10 NOTEBOOKBUILD_DIR=$(HTML_DIR)/notebooks
f160f36 @hanke BF: Meaningful Makefile targets for DOC clean and out-of-source-build
hanke authored
11 MAN_DIR=$(BUILDDIR)/man
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
12 APIDOC_DIR=$(HTML_DIR)/api
f160f36 @hanke BF: Meaningful Makefile targets for DOC clean and out-of-source-build
hanke authored
13 PDF_DIR=$(BUILDDIR)/pdf
14 LATEX_DIR=$(BUILDDIR)/latex
15 WWW_DIR=$(BUILDDIR)/website
16 SWARM_DIR=$(BUILDDIR)/swarm
cde9698 @yarikoptic upload to our new website host
yarikoptic authored
17 WWW_UPLOAD_URI=www.pymvpa.org:/home/www/www.pymvpa.org/pymvpa
8ad7ce1 @yarikoptic RF+NF: refactored upload- rules to use RSYNC_OPTS_UP + added new -dev…
yarikoptic authored
18 WWW_UPLOAD_URI_DEV=dev.pymvpa.org:/home/www/dev.pymvpa.org/pymvpa
ef7e2ba @hanke RF: fetch-data rule for all data needed for manual and examples.
hanke authored
19 DATA_UPLOAD_URI=data.pymvpa.org:/home/www/data.pymvpa.org/www/datasets
3e2e6e2 @yarikoptic BF: full name for DATA_URI + use data.pymvpa.org to refer to data server
yarikoptic authored
20 DATA_URI=data.pymvpa.org::datadb
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
21 SWARMTOOL_DIR=tools/codeswarm
22 SWARMTOOL_DIRFULL=$(CURDIR)/$(SWARMTOOL_DIR)
ec6d782 @hanke Bits for the datadb.
hanke authored
23 RSYNC_OPTS=-az -H --no-perms --no-owner --verbose --progress --no-g --exclude prev/
c40da01 @yarikoptic Makefile: upload only PyMVPA*pdf, do not enforce permissions in rsync
yarikoptic authored
24 RSYNC_OPTS_UP=-rzlhv --delete
25 # -p --chmod=Dg+s,g+rw,o+rX
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
26
27 #
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
28 # The Python executable to be used
29 #
30 PYTHON = python
d0e6677 @otizonaizit NF: allow building for python3 in setup.py and make
otizonaizit authored
31 PYTHON3 = python3
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
32
33 # Setup local PYTHONPATH depending on the version of provided $(PYTHON)
34 PYVER = $(shell $(PYTHON) -c 'import sys; print(sys.version_info[0])')
35 ifeq ($(PYVER),2)
36 # just use the local sources and run tests 'in source'
37 TEST_DIR = .
38 LPYTHONPATH = .:$(PYTHONPATH)
39 else
40 # for 3 (and hopefully not above ;) ) -- corresponding build/
41 # since sources go through 2to3 conversion
42 TEST_DIR = $(BUILD3DIR)
43 LPYTHONPATH = $(BUILD3DIR):$(PYTHONPATH)
44 endif
45
f86a218 @yarikoptic ENH: use a shortcut python runner for all unittest* targets
yarikoptic authored
46 # Assure non-interactive Matplotlib and provide local paths helper
068b889 @yarikoptic Merge branch 'master' into py3k
yarikoptic authored
47 MPLPYTHONPATH = PYTHONPATH=.:$(LPYTHONPATH) MVPA_MATPLOTLIB_BACKEND=agg
04c5b3f @yarikoptic BF: for prev commit -- forgotten () for a Makefile variable
yarikoptic authored
48 MPLPYTHON = $(MPLPYTHONPATH) $(PYTHON)
068b889 @yarikoptic Merge branch 'master' into py3k
yarikoptic authored
49 MPLPYTHON3 = $(MPLPYTHONPATH) $(PYTHON3)
50
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
51 NOSETESTS = $(PYTHON) $(shell which nosetests)
52
53 #
90ef9c0 @yarikoptic RF: embed lengthy shell pipe into a variable + guard a condition
yarikoptic authored
54 # Helpers for version handling.
55 # Note: can't be ':='-ed since location of invocation might vary
56 DEBCHANGELOG_VERSION = $(shell dpkg-parsechangelog | egrep ^Version | cut -d ' ' -f 2,2 | cut -d '-' -f 1,1)
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
57 SETUPPY_VERSION = $(shell $(PYTHON) setup.py -V)
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
58
90ef9c0 @yarikoptic RF: embed lengthy shell pipe into a variable + guard a condition
yarikoptic authored
59 #
63f4d77 @hanke Add automatic dev-version to upstream tarball and Debian changelog.
hanke authored
60 # Automatic development version
61 #
62 #yields: LastTagName_CommitsSinceThat_AbbrvHash
21d55c7 @hanke BF: RPM doesn't like '~' in versions.
hanke authored
63 DEV_VERSION := $(shell git describe --abbrev=4 HEAD |sed -e 's/-/+/g' |cut -d '/' -f 2,2)
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
64
65 # By default we are releasing with setup.py version
66 RELEASE_VERSION ?= $(SETUPPY_VERSION)
67 RELEASE_CODE ?=
63f4d77 @hanke Add automatic dev-version to upstream tarball and Debian changelog.
hanke authored
68
0375926 @yarikoptic RF: ability to control either to build 3rd party without actually mod…
yarikoptic authored
69 # Conditional depends regulated from outside
70 #
71 ifdef PYMVPA_NO_3RD
72 build_depends :=
73 else
877cf5e @yarikoptic RF: now build should in no scenario atm depend on 3rd
yarikoptic authored
74 build_depends :=
0375926 @yarikoptic RF: ability to control either to build 3rd party without actually mod…
yarikoptic authored
75 endif
76
63f4d77 @hanke Add automatic dev-version to upstream tarball and Debian changelog.
hanke authored
77 #
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
78 # Details on the Python/system
79 #
80
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
81 PYVER := $(shell $(PYTHON) -V 2>&1 | cut -d ' ' -f 2,2 | cut -d '.' -f 1,2)
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
82
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
83 #
84 # Little helpers
85 #
86
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
87 mkdir-%:
88 if [ ! -d $($*) ]; then mkdir -p $($*); fi
89
25ad48d @yarikoptic RF: Makefile: paths in variables, scp -> rsync
yarikoptic authored
90
f951f64 @yarikoptic BF: Makefile tuned up a bit again -- hopefully this time usable ;-)
yarikoptic authored
91 #
92 # Building
93 #
94
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
95 all: build
f951f64 @yarikoptic BF: Makefile tuned up a bit again -- hopefully this time usable ;-)
yarikoptic authored
96
cace8e1 @yarikoptic RF: build/clean all parts under 3rd
yarikoptic authored
97 # build included 3rd party pieces (if present)
98 3rd: 3rd-stamp
99 3rd-stamp:
100 find 3rd -mindepth 1 -maxdepth 1 -type d | \
101 while read d; do \
4eb01a6 @yarikoptic BF: do not fail 'clean' or 'build' if there is no Makefile in 3rd/*
yarikoptic authored
102 [ -f "$$d/Makefile" ] && $(MAKE) -C "$$d" || :; \
cace8e1 @yarikoptic RF: build/clean all parts under 3rd
yarikoptic authored
103 done
35a1106 @hanke Let in-place build with 'make' use included copy of libsvm.
hanke authored
104 touch $@
105
106
f951f64 @yarikoptic BF: Makefile tuned up a bit again -- hopefully this time usable ;-)
yarikoptic authored
107 debian-build:
108 # reuse is better than duplication (yoh)
109 debian/rules build
110
111
b49e953 @hanke RF: Hacked Makefile again, more bits for the manual, out-of-source bu…
hanke authored
112 build: build-stamp
0375926 @yarikoptic RF: ability to control either to build 3rd party without actually mod…
yarikoptic authored
113 build-stamp: $(build_depends)
14b293c @yarikoptic Merge branch 'maint/0.4' (early part) into yoh/master
yarikoptic authored
114 $(PYTHON) setup.py config --noisy
27ef899 @yarikoptic Merge branch 'maint/0.4' into maint/0.5
yarikoptic authored
115 $(PYTHON) setup.py build_ext --inplace
3c43261 @yarikoptic BF: reincarnated build-stamp touching
yarikoptic authored
116 touch $@
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
117
d0e6677 @otizonaizit NF: allow building for python3 in setup.py and make
otizonaizit authored
118 build3: build3-stamp
119 build3-stamp: $(build_depends)
120 $(PYTHON3) setup.py config --noisy
121 $(PYTHON3) setup.py build_ext --inplace
122 touch $@
35a1106 @hanke Let in-place build with 'make' use included copy of libsvm.
hanke authored
123
f951f64 @yarikoptic BF: Makefile tuned up a bit again -- hopefully this time usable ;-)
yarikoptic authored
124 #
125 # Cleaning
126 #
127
4ba74de @hanke RF: BIG! Make unittests working dir independent and install them and …
hanke authored
128 # this target is used to clean things for a fresh build
f951f64 @yarikoptic BF: Makefile tuned up a bit again -- hopefully this time usable ;-)
yarikoptic authored
129 clean:
f555acf @yarikoptic Added few "I: " messages in the main Makefile
yarikoptic authored
130 @echo "I: Performing clean operation"
cace8e1 @yarikoptic RF: build/clean all parts under 3rd
yarikoptic authored
131 # clean 3rd party pieces
132 find 3rd -mindepth 1 -maxdepth 1 -type d | \
133 while read d; do \
4eb01a6 @yarikoptic BF: do not fail 'clean' or 'build' if there is no Makefile in 3rd/*
yarikoptic authored
134 [ -f "$$d/Makefile" ] && $(MAKE) -C "$$d" clean || : ; \
cace8e1 @yarikoptic RF: build/clean all parts under 3rd
yarikoptic authored
135 done
af67ed0 @hanke BF: Clean the tools/ directory on 'clean'
hanke authored
136 # clean tools
137 $(MAKE) -C tools clean
82ef9ef @hanke RF: Add place to put SVG pics, and facility to render them as PDF and…
hanke authored
138 # clean pics
139 $(MAKE) -C doc/pics clean
9a61837 @hanke BF+DOC: Move examples to the new docs.
hanke authored
140 # clean docs
141 $(MAKE) -C doc clean
ce9083c @yarikoptic BF: since now there is doc/source -- we got DOC_DIR as well to comple…
yarikoptic authored
142 -@rm -f $(DOCSRC_DIR)/examples/*.rst
4ba74de @hanke RF: BIG! Make unittests working dir independent and install them and …
hanke authored
143 # clean all bits and pieces
3b24101 @hanke BF: Remove references to Debian from upstream and stop killing the ne…
hanke authored
144 -@rm -f MANIFEST
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
145 -@rm -f mvpa2/clfs/lib*/*.so \
146 mvpa2/clfs/lib*/*.dylib \
147 mvpa2/clfs/lib*/*_wrap.* \
148 mvpa2/clfs/lib*/*c.py \
149 mvpa2/tests/*.{prof,pstats,kcache}
0c49f7b NF: introduced python-coverage for our code. See below
Yaroslav Halchenko authored
150 @find . -name '*.py[co]' \
151 -o -name '*,cover' \
a2c7aa0 @yarikoptic BF: uff... apparently in bash tests/*.coverage doesn't complete to te…
yarikoptic authored
152 -o -name '.coverage' \
c76f783 @yarikoptic BF: full cleaning -- remove iterate.dat which is a by-product of open…
yarikoptic authored
153 -o -name 'iterate.dat' \
1958e90 @hanke Distribution maintainance: new versioning scheme, updated Makefile an…
hanke authored
154 -o -iname '*~' \
3dad861 @yarikoptic RF: mvpa.clf -> mvpa.clfs
yarikoptic authored
155 -o -iname '*.kcache' \
e46c124 @hanke RF: Perform out of source build.
hanke authored
156 -o -iname '*.gch' \
74a47b3 @yarikoptic silence make clean, and remove *flymake* files
yarikoptic authored
157 -o -iname '*_flymake.*' \
abe6f80 @hanke NF: Make it more MacOS friendly
hanke authored
158 -o -iname '#*#' | xargs -L 10 rm -f
8256769 silent clean
Yaroslav Halchenko authored
159 -@rm -rf build
d38ad03 @otizonaizit PY3: recursively remove __pycache__ directory
otizonaizit authored
160 -@rm -rf dist *report __pycache__
161 -@rm -f *-stamp *_report.pdf *_report.log pymvpa2.cfg
4bcdba6 @yarikoptic BF: added clean target which is actually the one calling debian/rules…
yarikoptic authored
162
4ba74de @hanke RF: BIG! Make unittests working dir independent and install them and …
hanke authored
163 # this target should put the source tree into shape for building the source
164 # distribution
7f08e9e @hanke BF: distclean needs to run clean as well
hanke authored
165 distclean: clean
4ba74de @hanke RF: BIG! Make unittests working dir independent and install them and …
hanke authored
166 # if we are on debian system - we might have left-overs from build
167 -@$(MAKE) debian-clean
168 -@rm -rf tools/codeswarm
169
170
207f93c @hanke Separate Debian and upstream parts in the Makefile.
hanke authored
171
172 debian-clean:
ace9101 @yarikoptic RF: Makefile adjusted a bit, so "make distclean; make doc" works
yarikoptic authored
173 # remove stamps for builds since state is not really built any longer
174 -fakeroot debian/rules clean
175
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
176
ace9101 @yarikoptic RF: Makefile adjusted a bit, so "make distclean; make doc" works
yarikoptic authored
177 #
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
178 # Documentation
ace9101 @yarikoptic RF: Makefile adjusted a bit, so "make distclean; make doc" works
yarikoptic authored
179 #
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
180
2893dcf @hanke NF: Produce proper manpages for the two tools.
hanke authored
181 doc: website manpages
182
82ef9ef @hanke RF: Add place to put SVG pics, and facility to render them as PDF and…
hanke authored
183 pics:
184 $(MAKE) -C doc/pics
185
2893dcf @hanke NF: Produce proper manpages for the two tools.
hanke authored
186 manpages: mkdir-MAN_DIR
f555acf @yarikoptic Added few "I: " messages in the main Makefile
yarikoptic authored
187 @echo "I: Creating manpages"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
188 PYTHONPATH=$(LPYTHONPATH) help2man -N -n 'preprocess fMRI data for PyMVPA' \
cf6f46a @yarikoptic RF: renamed all the bin/* to carry pymvpa2- prefix
yarikoptic authored
189 bin/pymvpa2-prep-fmri > $(MAN_DIR)/pymvpa2-prep-fmri.1
190 PYTHONPATH=$(LPYTHONPATH) help2man -N -n 'query stereotaxic atlases' \
191 bin/pymvpa2-atlaslabeler > $(MAN_DIR)/pymvpa2-atlaslabeler.1
192 PYTHONPATH=$(LPYTHONPATH) help2man -N -n 'start a PyMVPA tutorial session' \
81cf6d7 @hanke NF: Wrapper script for a tutorial session.
hanke authored
193 bin/pymvpa2-tutorial > $(MAN_DIR)/pymvpa2-tutorial.1
cb012b7 @hanke Bugfix in PLF constructor
hanke authored
194
fd96123 @hanke DOC: Bibtex-like citation handling for the manual!!
hanke authored
195 references:
f555acf @yarikoptic Added few "I: " messages in the main Makefile
yarikoptic authored
196 @echo "I: Generating references"
fd96123 @hanke DOC: Bibtex-like citation handling for the manual!!
hanke authored
197 tools/bib2rst_ref.py
198
d32b5eb @yarikoptic ENH: assure use of Agg backend during doc builds and HOME=build
yarikoptic authored
199 # Since mpl doesn't take env variables
200 mpl-stamp: build
201 echo "backend : Agg" >| $(CURDIR)/build/matplotlibrc
202 touch $@
203
d8fd21b @hanke DOC: Integrate IPython notebooks into the web page.
hanke authored
204 htmldoc: examples2rst build pics mpl-stamp tutorial2notebooks
f555acf @yarikoptic Added few "I: " messages in the main Makefile
yarikoptic authored
205 @echo "I: Creating an HTML version of documentation"
c0d235a @hanke DOC: Allow sphinx build options to be passed through from the toplevel
hanke authored
206 cd $(DOC_DIR) && MVPA_EXTERNALS_RAISE_EXCEPTION=off \
207 PYTHONPATH=$(CURDIR):$(PYTHONPATH) \
d32b5eb @yarikoptic ENH: assure use of Agg backend during doc builds and HOME=build
yarikoptic authored
208 MPLCONFIGDIR=$(CURDIR)/build HOME=$(CURDIR)/build \
c0d235a @hanke DOC: Allow sphinx build options to be passed through from the toplevel
hanke authored
209 $(MAKE) html BUILDDIR=$(BUILDDIR) SPHINXOPTS="$(SPHINXOPTS)"
9a61837 @hanke BF+DOC: Move examples to the new docs.
hanke authored
210 cd $(HTML_DIR)/generated && ln -sf ../_static
e46c124 @hanke RF: Perform out of source build.
hanke authored
211 cd $(HTML_DIR)/examples && ln -sf ../_static
80ebcd0 @hanke DOC: Identify dev-website as such (on each page); minor fix.
hanke authored
212 cd $(HTML_DIR)/workshops && ln -sf ../_static
68f7864 @hanke BF: Add _static link for datadb (to get the webpage images).
hanke authored
213 cd $(HTML_DIR)/datadb && ln -sf ../_static
e46c124 @hanke RF: Perform out of source build.
hanke authored
214 cp $(DOCSRC_DIR)/pics/history_splash.png $(HTML_DIR)/_images/
ace9101 @yarikoptic RF: Makefile adjusted a bit, so "make distclean; make doc" works
yarikoptic authored
215
7c1a616 @hanke Fix pdfdoc rule.
hanke authored
216 pdfdoc: examples2rst build pics pdfdoc-stamp
d32b5eb @yarikoptic ENH: assure use of Agg backend during doc builds and HOME=build
yarikoptic authored
217 pdfdoc-stamp: mpl-stamp
f555acf @yarikoptic Added few "I: " messages in the main Makefile
yarikoptic authored
218 @echo "I: Creating a PDF version of documentation"
c0d235a @hanke DOC: Allow sphinx build options to be passed through from the toplevel
hanke authored
219 cd $(DOC_DIR) && MVPA_EXTERNALS_RAISE_EXCEPTION=off \
220 PYTHONPATH=$(CURDIR):$(PYTHONPATH) \
d32b5eb @yarikoptic ENH: assure use of Agg backend during doc builds and HOME=build
yarikoptic authored
221 MPLCONFIGDIR=$(CURDIR)/build HOME=$(CURDIR)/build \
c0d235a @hanke DOC: Allow sphinx build options to be passed through from the toplevel
hanke authored
222 $(MAKE) latex BUILDDIR=$(BUILDDIR) SPHINXOPTS="$(SPHINXOPTS)"
90e14dc @hanke NF+RF+BK: Start transition to 'Sphinx' for all documentation handling.
hanke authored
223 cd $(LATEX_DIR) && $(MAKE) all-pdf
049208c @hanke BF: Mention GPR in changelog, minor change to Makefile
hanke authored
224 touch $@
b1ed804 @hanke Do some missing steps for Debian packaging and libsvm transition.
hanke authored
225
755bbc2 @yarikoptic NF: 'make handbook' -- generates pdf suitable to print a book
yarikoptic authored
226 # Create a handy .pdf of the manual to be printed as a book
227 handbook: pdfdoc
f555acf @yarikoptic Added few "I: " messages in the main Makefile
yarikoptic authored
228 @echo "I: Creating a handbook of the manual"
755bbc2 @yarikoptic NF: 'make handbook' -- generates pdf suitable to print a book
yarikoptic authored
229 cd tools && $(MAKE) pdfbook
e46c124 @hanke RF: Perform out of source build.
hanke authored
230 build/tools/pdfbook -2 \
755bbc2 @yarikoptic NF: 'make handbook' -- generates pdf suitable to print a book
yarikoptic authored
231 $(LATEX_DIR)/PyMVPA-Manual.pdf $(LATEX_DIR)/PyMVPA-Manual-Handbook.pdf
232
9a61837 @hanke BF+DOC: Move examples to the new docs.
hanke authored
233 examples2rst: examples2rst-stamp
234 examples2rst-stamp: mkdir-DOCBUILD_DIR
99c5ed1 @hanke RF: tools/examples2rst.py -> tools/ex2rst
hanke authored
235 tools/ex2rst \
236 --project PyMVPA \
ce9083c @yarikoptic BF: since now there is doc/source -- we got DOC_DIR as well to comple…
yarikoptic authored
237 --outdir $(DOCSRC_DIR)/examples \
82ef9ef @hanke RF: Add place to put SVG pics, and facility to render them as PDF and…
hanke authored
238 --exclude doc/examples/searchlight_app.py \
99c5ed1 @hanke RF: tools/examples2rst.py -> tools/ex2rst
hanke authored
239 doc/examples
03b2ee3 @hanke DOC: Include examples pieces in manual generation.
hanke authored
240 touch $@
241
303113e @hanke ENH: Makefile target for tutorial notebooks.
hanke authored
242 tutorial2notebooks: tutorial2notebooks-stamp
d8fd21b @hanke DOC: Integrate IPython notebooks into the web page.
hanke authored
243 tutorial2notebooks-stamp:
244 mkdir -p $(NOTEBOOKBUILD_DIR)
303113e @hanke ENH: Makefile target for tutorial notebooks.
hanke authored
245 tools/rst2ipnbpy \
246 --baseurl http://pymvpa.org \
247 --apiref_baseurl http://pymvpa.org/generated \
248 --glossary_baseurl http://pymvpa.org/glossary.html \
249 --outdir $(NOTEBOOKBUILD_DIR) \
250 --exclude doc/source/tutorial_prerequisites.rst \
0035cdb @hanke ENH: Verbosity for Mr. H.
hanke authored
251 --verbose \
303113e @hanke ENH: Makefile target for tutorial notebooks.
hanke authored
252 doc/source/tutorial_*.rst
253 touch $@
254
b49e953 @hanke RF: Hacked Makefile again, more bits for the manual, out-of-source bu…
hanke authored
255 apidoc: apidoc-stamp
5396942 @hanke Disabled profiling (temporarily?) due to excessive consumption of res…
hanke authored
256 apidoc-stamp: build
257 # Disabled profiling for now, it consumes huge amounts of memory, so I doubt
258 # that all buildds can do it. In theory it would only be done on a single
259 # developer machine, because it is only necessary for the arch-all package,
260 # but e.g. dpkg-buildpackage runs the indep target anyway -- not sure about
261 # the buildds, though.
e83bca0 @yarikoptic targets: profile, website-stamp
yarikoptic authored
262 #apidoc-stamp: profile
f555acf @yarikoptic Added few "I: " messages in the main Makefile
yarikoptic authored
263 @echo "I: Creating an API documentation with epydoc"
25ad48d @yarikoptic RF: Makefile: paths in variables, scp -> rsync
yarikoptic authored
264 mkdir -p $(HTML_DIR)/api
d97cc6e @yarikoptic NF: monkey patch to make better control over epydoc warnings (-q -q i…
yarikoptic authored
265 LC_ALL=C MVPA_EPYDOC_WARNINGS=once tools/epydoc --config doc/api/epydoc.conf
b49e953 @hanke RF: Hacked Makefile again, more bits for the manual, out-of-source bu…
hanke authored
266 touch $@
55c5108 @hanke Some maintainance: Removed obsolete files, added two makefile targets…
hanke authored
267
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
268 # this takes some minutes !!
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
269 # TODO: adjust for py3 compatibility
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
270 profile: build mvpa2/tests/__init__.py
f555acf @yarikoptic Added few "I: " messages in the main Makefile
yarikoptic authored
271 @echo "I: Profiling unittests"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
272 @PYTHONPATH=$(LPYTHONPATH) tools/profile -K -O $(PROFILE_FILE) mvpa2/tests/__init__.py
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
273
274
275 #
276 # Website
277 #
278
f51d7b9 @hanke BF: More clever handling of apidoc templates.
hanke authored
279 website: website-stamp
f5af33c @hanke RF: Remove epydoc invocation from the Makefile targets.
hanke authored
280 website-stamp: mkdir-WWW_DIR htmldoc pdfdoc
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
281 cp -r $(HTML_DIR)/* $(WWW_DIR)
c40da01 @yarikoptic Makefile: upload only PyMVPA*pdf, do not enforce permissions in rsync
yarikoptic authored
282 cp $(LATEX_DIR)/PyMVPA-*.pdf $(WWW_DIR)
1bd5659 @hanke NF: Generate a sitemap for Google to advertise the website under its …
hanke authored
283 tools/sitemap.sh > $(WWW_DIR)/sitemap.xml
f16aabe @yarikoptic NF: adding little favicon to the website
yarikoptic authored
284 # main icon of the website
e46c124 @hanke RF: Perform out of source build.
hanke authored
285 cp $(DOCSRC_DIR)/pics/favicon.png $(WWW_DIR)/_images/
f16aabe @yarikoptic NF: adding little favicon to the website
yarikoptic authored
286 # for those who do not care about <link> and just trying to download it
e46c124 @hanke RF: Perform out of source build.
hanke authored
287 cp $(DOCSRC_DIR)/pics/favicon.png $(WWW_DIR)/favicon.ico
81b7518 @yarikoptic NF: robots.txt for the website
yarikoptic authored
288 # provide robots.txt to minimize unnecessary traffic
e46c124 @hanke RF: Perform out of source build.
hanke authored
289 cp $(DOCSRC_DIR)/_static/robots.txt $(WWW_DIR)/
5165048 @yarikoptic BF: install pylintrc to the website
yarikoptic authored
290 # provide promised pylintrc
ce9083c @yarikoptic BF: since now there is doc/source -- we got DOC_DIR as well to comple…
yarikoptic authored
291 mkdir -p $(WWW_DIR)/misc && cp $(DOC_DIR)/misc/pylintrc $(WWW_DIR)/misc
e83bca0 @yarikoptic targets: profile, website-stamp
yarikoptic authored
292 touch $@
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
293
76e2c99 @hanke DOC: Duplicate HTML theme for online and offline use.
hanke authored
294 upload-website:
295 $(MAKE) website SPHINXOPTS='-D html_theme=pymvpa_online'
8ad7ce1 @yarikoptic RF+NF: refactored upload- rules to use RSYNC_OPTS_UP + added new -dev…
yarikoptic authored
296 rsync $(RSYNC_OPTS_UP) $(WWW_DIR)/* $(WWW_UPLOAD_URI)/
94e576f @yarikoptic ENH: added automatic update of website-update/* branchies upon uploads
yarikoptic authored
297 git update-ref refs/heads/website-updates/www HEAD
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
298
76e2c99 @hanke DOC: Duplicate HTML theme for online and offline use.
hanke authored
299 upload-htmldoc:
300 $(MAKE) htmldoc SPHINXOPTS='-D html_theme=pymvpa_online'
c40da01 @yarikoptic Makefile: upload only PyMVPA*pdf, do not enforce permissions in rsync
yarikoptic authored
301 chmod a+rX -R $(HTML_DIR)
8ad7ce1 @yarikoptic RF+NF: refactored upload- rules to use RSYNC_OPTS_UP + added new -dev…
yarikoptic authored
302 rsync $(RSYNC_OPTS_UP) $(HTML_DIR)/* $(WWW_UPLOAD_URI)/
94e576f @yarikoptic ENH: added automatic update of website-update/* branchies upon uploads
yarikoptic authored
303 git update-ref refs/heads/website-updates/www-html HEAD
8ad7ce1 @yarikoptic RF+NF: refactored upload- rules to use RSYNC_OPTS_UP + added new -dev…
yarikoptic authored
304
7617927 @hanke BF: Remove obsolete rule dependencies.
hanke authored
305 upload-website-dev:
ef964fe @hanke DOC: Select proper DISQUS db for comments of dev.pymvpa.org
hanke authored
306 sed -i -e "s,http://disqus.com/forums/pymvpa/,http://disqus.com/forums/pymvpa-dev/,g" \
80ebcd0 @hanke DOC: Identify dev-website as such (on each page); minor fix.
hanke authored
307 -e "s,^<!-- HEADNOTES -->,<!-- HEADNOTES --><div class='admonition note'>This content refers to an unreleased development version of PyMVPA</div>,g" \
ef964fe @hanke DOC: Select proper DISQUS db for comments of dev.pymvpa.org
hanke authored
308 doc/source/_themes/pymvpa_online/page.html
76e2c99 @hanke DOC: Duplicate HTML theme for online and offline use.
hanke authored
309 $(MAKE) website SPHINXOPTS='-D html_theme=pymvpa_online'
ef964fe @hanke DOC: Select proper DISQUS db for comments of dev.pymvpa.org
hanke authored
310 sed -i -e "s,http://disqus.com/forums/pymvpa-dev/,http://disqus.com/forums/pymvpa/,g" \
80ebcd0 @hanke DOC: Identify dev-website as such (on each page); minor fix.
hanke authored
311 -e "s,^<!-- HEADNOTES -->.*$$,<!-- HEADNOTES -->,g" \
ef964fe @hanke DOC: Select proper DISQUS db for comments of dev.pymvpa.org
hanke authored
312 doc/source/_themes/pymvpa_online/page.html
c40da01 @yarikoptic Makefile: upload only PyMVPA*pdf, do not enforce permissions in rsync
yarikoptic authored
313 sed -i -e "s,www.pymvpa.org,dev.pymvpa.org,g" $(WWW_DIR)/sitemap.xml
314 chmod a+rX -R $(WWW_DIR)
8ad7ce1 @yarikoptic RF+NF: refactored upload- rules to use RSYNC_OPTS_UP + added new -dev…
yarikoptic authored
315 rsync $(RSYNC_OPTS_UP) $(WWW_DIR)/* $(WWW_UPLOAD_URI_DEV)/
316
7617927 @hanke BF: Remove obsolete rule dependencies.
hanke authored
317 upload-htmldoc-dev:
e7cc15b @yarikoptic BF: assure that there are no two "devel" warnings in dev.pymvpa pages
yarikoptic authored
318 grep -q pymvpa-dev doc/source/_themes/pymvpa_online/page.html || \
319 sed -i -e "s,http://disqus.com/forums/pymvpa/,http://disqus.com/forums/pymvpa-dev/,g" \
80ebcd0 @hanke DOC: Identify dev-website as such (on each page); minor fix.
hanke authored
320 -e "s,^<!-- HEADNOTES -->,<!-- HEADNOTES --><div class='admonition note'>This content refers to an unreleased development version of PyMVPA</div>,g" \
ef964fe @hanke DOC: Select proper DISQUS db for comments of dev.pymvpa.org
hanke authored
321 doc/source/_themes/pymvpa_online/page.html
76e2c99 @hanke DOC: Duplicate HTML theme for online and offline use.
hanke authored
322 $(MAKE) htmldoc SPHINXOPTS='-D html_theme=pymvpa_online'
ef964fe @hanke DOC: Select proper DISQUS db for comments of dev.pymvpa.org
hanke authored
323 sed -i -e "s,http://disqus.com/forums/pymvpa-dev/,http://disqus.com/forums/pymvpa/,g" \
80ebcd0 @hanke DOC: Identify dev-website as such (on each page); minor fix.
hanke authored
324 -e "s,^<!-- HEADNOTES -->.*$$,<!-- HEADNOTES -->,g" \
ef964fe @hanke DOC: Select proper DISQUS db for comments of dev.pymvpa.org
hanke authored
325 doc/source/_themes/pymvpa_online/page.html
8ad7ce1 @yarikoptic RF+NF: refactored upload- rules to use RSYNC_OPTS_UP + added new -dev…
yarikoptic authored
326 rsync $(RSYNC_OPTS_UP) $(HTML_DIR)/* $(WWW_UPLOAD_URI_DEV)/
327
5c9aecb @hanke NF: New Makefile target to upload htmldoc without rest of website.
hanke authored
328
e862ffe @hanke NF: Add Makefile rules to rsync and test the data DB and upload its d…
hanke authored
329 # upload plain .rst files as descriptions to data.pympa.org as descriptions of
330 # each dataset
331 upload-datadb-descriptions:
332 for ds in doc/source/datadb/*; do \
333 ds=$$(basename $${ds}); ds=$${ds%*.rst}; \
334 scp doc/source/datadb/$${ds}.rst $(DATA_UPLOAD_URI)/$${ds}/README.rst; \
335 done
c9f3df1 @hanke RF: (Hopefully) simplified documentation location and handling in Mak…
hanke authored
336
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
337 #
338 # Tests (unittests, docs, examples)
339 #
ac2d1a3 @yarikoptic RF+NF: improving generated by epydoc documentation
yarikoptic authored
340
7c59771 @hanke RF: 'make test' -> 'make unittest'; new meaning of 'make test'
hanke authored
341 ut-%: build
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
342 @cd $(TEST_DIR) && PYTHONPATH=$(LPYTHONPATH) $(NOSETESTS) --nocapture mvpa2/tests/test_$*.py
4dba1b8 @hanke NF: Add initial OddEvenSplitter + unit test.
hanke authored
343
7c59771 @hanke RF: 'make test' -> 'make unittest'; new meaning of 'make test'
hanke authored
344 unittest: build
1f8e2b2 @yarikoptic NF: unittest-badexternals -- test either PyMVPA is working whenever e…
yarikoptic authored
345 @echo "I: Running unittests (without optimization nor debug output)"
297c8ec @otizonaizit BF: fix broken unittest target in Makefile
otizonaizit authored
346 @cd $(TEST_DIR) && $(MPLPYTHON) mvpa2/tests/__init__.py
02e838a @hanke DOC: Complete changelog for upcoming release.
hanke authored
347
f0d259a @hanke RF: Simplified nfoldsplitter, stripped obsolete code and merged into …
hanke authored
348
1f8e2b2 @yarikoptic NF: unittest-badexternals -- test either PyMVPA is working whenever e…
yarikoptic authored
349 # test if PyMVPA is working if optional externals are missing
350 unittest-badexternals: build
9da0372 @yarikoptic BF: fixing unittests to run under assumption of missing optional depe…
yarikoptic authored
351 @echo "I: Running unittests under assumption of missing optional externals."
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
352 @cd $(TEST_DIR) && PYTHONPATH=mvpa2/tests/badexternals:$(LPYTHONPATH) \
82f3d55 @yarikoptic ENH: Assure non interactive mpl backend for all unittest* Makefile ta…
yarikoptic authored
353 MVPA_MATPLOTLIB_BACKEND=agg \
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
354 $(PYTHON) mvpa2/tests/__init__.py 2>&1 \
82f3d55 @yarikoptic ENH: Assure non interactive mpl backend for all unittest* Makefile ta…
yarikoptic authored
355 | grep -v -e 'WARNING: Known dependency' -e 'Please note: w' \
356 -e 'WARNING:.*SMLR.* implementation'
1f8e2b2 @yarikoptic NF: unittest-badexternals -- test either PyMVPA is working whenever e…
yarikoptic authored
357
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
358 # only non-labile tests
359 unittest-nonlabile: build
360 @echo "I: Running only non labile unittests. None of them should ever fail."
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
361 @cd $(TEST_DIR) && MVPA_TESTS_LABILE=no \
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
362 $(MPLPYTHON) mvpa2/tests/__init__.py
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
363
c9f4f9a @otizonaizit PY3: added specific py3 unittest target to Makefile
otizonaizit authored
364 unittest-py3: build3
365 @echo "I: Running py3-compatible unittests. None of them should ever fail."
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
366 -@rm -f build3-stamp # evil Tiziano! ;)
0fa3568 @otizonaizit PY3: fix make file to really only run py3 tests in unittest-py3 target
otizonaizit authored
367 @cd $(BUILD3DIR) && MVPA_TESTS_LABILE=no MVPA_TESTS_QUICK=yes \
368 MVPA_TESTS_LOWMEM=yes $(MPLPYTHON3) mvpa2/tests/__init__.py
c9f4f9a @otizonaizit PY3: added specific py3 unittest target to Makefile
otizonaizit authored
369
0287f03 @otizonaizit PY3: add make target for unittests with py3 warnings
otizonaizit authored
370 unittest-py3warn: build
371 @echo "I: Running unittests with py3 warnings. None of them should ever fail."
372 @MVPA_TESTS_LABILE=no MVPA_TESTS_QUICK=yes \
373 MVPA_TESTS_LOWMEM=yes $(MPLPYTHON) -3 mvpa2/tests/__init__.py
374
375
1922575 @hanke RF+BIG: `states` -> `ca` (conditional attribute)
hanke authored
376 # test if no errors would result if we force enabling of all ca
377 unittest-ca: build
378 @echo "I: Running unittests with all ca enabled."
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
379 @cd $(TEST_DIR) && MVPA_DEBUG=ENFORCE_CA_ENABLED \
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
380 $(MPLPYTHON) mvpa2/tests/__init__.py
0cde39a @yarikoptic NF: new testing target -- with all states forced to be enabled
yarikoptic authored
381
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
382 # Run unittests with optimization on -- helps to catch unconditional
383 # debug calls
384 unittest-optimization: build
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
385 @echo "I: Running unittests with $(PYTHON) -O."
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
386 @cd $(TEST_DIR) && $(MPLPYTHON) -O mvpa2/tests/__init__.py
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
387
388 # Run unittests with all debug ids and some metrics (crossplatform ones) on.
3858916 @yarikoptic NF: 'make unittests' - runs extended battery of unittests
yarikoptic authored
389 # That does:
390 # additional checking,
391 # debug() calls validation, etc
1bf2832 @yarikoptic BF: enforce bash to be used while unittest-debug
yarikoptic authored
392 # Need to use /bin/bash due to use of PIPESTATUS
393 unittest-debug: SHELL=/bin/bash
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
394 unittest-debug: build
1f8e2b2 @yarikoptic NF: unittest-badexternals -- test either PyMVPA is working whenever e…
yarikoptic authored
395 @echo "I: Running unittests with debug output. No progress output."
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
396 @cd $(TEST_DIR) && MVPA_DEBUG=.* MVPA_DEBUG_METRICS=ALL \
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
397 $(MPLPYTHON) mvpa2/tests/__init__.py 2>&1 \
82f3d55 @yarikoptic ENH: Assure non interactive mpl backend for all unittest* Makefile ta…
yarikoptic authored
398 | sed -n -e '/^[=-]\{60,\}$$/,$$p'; \
399 exit $${PIPESTATUS[0]} # reaquire status of 1st command, works only in bash!
3858916 @yarikoptic NF: 'make unittests' - runs extended battery of unittests
yarikoptic authored
400
f7d609b @yarikoptic just a little comment about running unittests
yarikoptic authored
401
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
402 # Run all unittests
f7d609b @yarikoptic just a little comment about running unittests
yarikoptic authored
403 # Run with 'make -k' if you like to sweep through all of them, so
404 # failure in one of them does not stop the full sweep
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
405 unittests: unittest-nonlabile unittest unittest-badexternals \
1922575 @hanke RF+BIG: `states` -> `ca` (conditional attribute)
hanke authored
406 unittest-optimization unittest-ca unittest-debug
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
407
6b3d3d9 @hanke RF: smlr_example.py -> smlr.py (since it is in examples/); new Makefi…
hanke authored
408 te-%: build
1571e53 @yarikoptic NF: testexamples (and te-*) are salient unless fail
yarikoptic authored
409 @echo -n "I: Testing example $*: "
482ee84 @yarikoptic ENH: allow examples to dump their output into logfiles
yarikoptic authored
410 @[ -z "$$MVPA_TESTS_LOGDIR" ] \
411 && logfile=temp-$@.log \
412 || { mkdir -p $$MVPA_TESTS_LOGDIR; logfile=$$MVPA_TESTS_LOGDIR/$@.log; }; \
413 MVPA_EXAMPLES_INTERACTIVE=no \
414 $(MPLPYTHONPATH) /usr/bin/time $(PYTHON) doc/examples/$*.py >| $$logfile 2>&1 \
415 && { echo "passed"; ex=0; } \
416 || { echo "failed:"; ex=1; cat $$logfile; }; \
417 [ -z "$$MVPA_TESTS_LOGDIR" ] && rm -f $$logfile || : ; \
418 exit $$ex
6b3d3d9 @hanke RF: smlr_example.py -> smlr.py (since it is in examples/); new Makefi…
hanke authored
419
55df103 @hanke Execute slow examples last.
hanke authored
420 testexamples: te-svdclf te-smlr te-sensanas te-pylab_2d \
421 te-curvefitting te-projections te-kerneldemo \
85ca652 @yarikoptic BF: added missing examples to be tested as a part of testexamples
yarikoptic authored
422 te-erp_plot te-match_distribution te-permutation_test \
af2a69e @yarikoptic now we can enable gpr examples within tests
yarikoptic authored
423 te-searchlight_minimal te-smlr te-start_easy te-topo_plot \
55df103 @hanke Execute slow examples last.
hanke authored
424 te-gpr te-gpr_model_selection0 te-mri_plot te-searchlight \
425 te-clfs_examples
0b02780 BF: added magic '-i' to make coverage digest its own exception
Yaroslav Halchenko authored
426
982a1f0 @hanke NF: Add rules to test the docstrings (all or individual)
hanke authored
427 testdocstrings: dt-mvpa
428
429 dt-%: build
03a24e6 @yarikoptic ENH: minor -- added an I: line to dt-% rule
yarikoptic authored
430 @echo "I: Doctesting $*"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
431 @PYTHONPATH=$(LPYTHONPATH) \
982a1f0 @hanke NF: Add rules to test the docstrings (all or individual)
hanke authored
432 MVPA_MATPLOTLIB_BACKEND=agg \
433 MVPA_EXTERNALS_RAISE_EXCEPTION=off \
434 MVPA_DATADB_ROOT=datadb \
c33d31e @yarikoptic ENH: instruct to suppress all warnings while doing doctesting
yarikoptic authored
435 MVPA_WARNINGS_SUPPRESS=1 \
982a1f0 @hanke NF: Add rules to test the docstrings (all or individual)
hanke authored
436 $(NOSETESTS) --with-doctest \
5ac4282 @hanke BF: Exclude to broken code-dumps from doctests.
hanke authored
437 $(shell git grep -l __docformat__ | grep '^mvpa' \
438 | grep -v filter.py | grep -v channel.py | grep "$*")
982a1f0 @hanke NF: Add rules to test the docstrings (all or individual)
hanke authored
439
b1deb97 @hanke NF: Add new Makefile targets for doctests in the manual.
hanke authored
440 tm-%: build
7ca38d1 @yarikoptic RF: tutorial_lib.py -> mvpa2.turorial_suite (+boosted tarball version…
yarikoptic authored
441 @PYTHONPATH=.:$(CURDIR)/doc/examples:$(PYTHONPATH) \
b2710fd @hanke NF: Introduce MVPA_DATADB_ROOT
hanke authored
442 MVPA_MATPLOTLIB_BACKEND=agg \
411be92 @yarikoptic BF: tune up tm- Makefile helper rule so it could be used on tutorial
yarikoptic authored
443 MVPA_LOCATION_TUTORIAL_DATA=$(TUT_DIR) \
b2710fd @hanke NF: Introduce MVPA_DATADB_ROOT
hanke authored
444 MVPA_DATADB_ROOT=datadb \
c33d31e @yarikoptic ENH: instruct to suppress all warnings while doing doctesting
yarikoptic authored
445 MVPA_WARNINGS_SUPPRESS=1 \
b2710fd @hanke NF: Introduce MVPA_DATADB_ROOT
hanke authored
446 $(NOSETESTS) --with-doctest --doctest-extension .rst \
447 --doctest-tests doc/source/$*.rst
b1deb97 @hanke NF: Add new Makefile targets for doctests in the manual.
hanke authored
448
982a1f0 @hanke NF: Add rules to test the docstrings (all or individual)
hanke authored
449 testmanual: build testdocstrings
7760436 @yarikoptic BF: define matplotlib backened for testmanual, added "I: " line
yarikoptic authored
450 @echo "I: Testing code samples found in documentation"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
451 @PYTHONPATH=$(LPYTHONPATH) \
b2710fd @hanke NF: Introduce MVPA_DATADB_ROOT
hanke authored
452 MVPA_MATPLOTLIB_BACKEND=agg \
e7d202f @yarikoptic RF: using tutorial_data from within datadb
yarikoptic authored
453 MVPA_LOCATION_TUTORIAL_DATA=$(TUT_DIR) \
b2710fd @hanke NF: Introduce MVPA_DATADB_ROOT
hanke authored
454 MVPA_DATADB_ROOT=datadb \
c33d31e @yarikoptic ENH: instruct to suppress all warnings while doing doctesting
yarikoptic authored
455 MVPA_WARNINGS_SUPPRESS=1 \
4d63346 @hanke testmanual runs for several hours -- let's afford some verbosity.
hanke authored
456 $(NOSETESTS) -v --with-doctest --doctest-extension .rst \
b2710fd @hanke NF: Introduce MVPA_DATADB_ROOT
hanke authored
457 --doctest-tests doc/source
b1deb97 @hanke NF: Add new Makefile targets for doctests in the manual.
hanke authored
458
6b4ba2c @hanke RF: Makefile rule to doctest specific tutorial parts.
hanke authored
459 testtutorial-%: build
460 @echo "I: Testing code samples found in tutorial part $*"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
461 @PYTHONPATH=$(LPYTHONPATH) \
cdfcd3c @hanke Adjust makefile to set PYTHONPATH for tutorial doctest.
hanke authored
462 MVPA_MATPLOTLIB_BACKEND=agg \
e7d202f @yarikoptic RF: using tutorial_data from within datadb
yarikoptic authored
463 MVPA_LOCATION_TUTORIAL_DATA=$(TUT_DIR) \
c33d31e @yarikoptic ENH: instruct to suppress all warnings while doing doctesting
yarikoptic authored
464 MVPA_WARNINGS_SUPPRESS=1 \
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
465 $(NOSETESTS) --with-doctest --doctest-extension .rst \
adb7bc1 @hanke RF+DOC: Remove file numbering of tutorial.
hanke authored
466 --doctest-tests doc/source/tutorial_$**.rst
a326b0f @hanke Add Makefile target to doctest the tutorial.
hanke authored
467
176b605 @yarikoptic BF: fixed filenames in saved results in tutorials + little makefile r…
yarikoptic authored
468 # Test either all # alt references in tutorials are correct
469 # Just outputs filenames found missing -- doesn't fail the rule
470 TUTORIAL_RESDIR=tutorial_data/results
471 testtutorials-alt:
472 @grep '# *alt' doc/source/tutorial*rst | \
473 sed -e "s/.*'\(.*\)'.*/\1/g" | \
474 while read f; do \
e7d202f @yarikoptic RF: using tutorial_data from within datadb
yarikoptic authored
475 fs="$$(/bin/ls $(TUT_DIR)/results/$$f.* 2>/dev/null)"; \
176b605 @yarikoptic BF: fixed filenames in saved results in tutorials + little makefile r…
yarikoptic authored
476 [ -z "$$fs" ] && echo "$$f missing" || :; \
477 done
478
fda06ee @hanke BF: Remove 'fetch-data' rule dep -- people might have it somewhere else.
hanke authored
479 testdatadb: build
e862ffe @hanke NF: Add Makefile rules to rsync and test the data DB and upload its d…
hanke authored
480 @echo "I: Testing code samples on the dataset DB website"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
481 @PYTHONPATH=$(LPYTHONPATH) \
e862ffe @hanke NF: Add Makefile rules to rsync and test the data DB and upload its d…
hanke authored
482 MVPA_MATPLOTLIB_BACKEND=agg \
b2710fd @hanke NF: Introduce MVPA_DATADB_ROOT
hanke authored
483 MVPA_DATADB_ROOT=datadb \
c33d31e @yarikoptic ENH: instruct to suppress all warnings while doing doctesting
yarikoptic authored
484 MVPA_WARNINGS_SUPPRESS=1 \
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
485 $(NOSETESTS) --with-doctest --doctest-extension .rst \
b2710fd @hanke NF: Introduce MVPA_DATADB_ROOT
hanke authored
486 --doctest-tests doc/source/datadb/*.rst
e862ffe @hanke NF: Add Makefile rules to rsync and test the data DB and upload its d…
hanke authored
487
c702e56 @yarikoptic BF: making 'testsuite' test satisfied
yarikoptic authored
488 # Check if everything (with few exclusions) is imported in unitests is
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
489 # known to the mvpa2.suite()
7156060 @yarikoptic BF: XXX -- ignoring clfs.spam for now in testsuite -- revert when get…
yarikoptic authored
490 # XXX remove \|spam whenever clfs.spam gets available
ca42cae @yarikoptic NF/RF: mvpa.suite is ready for digestion, make testsuite checks for i…
yarikoptic authored
491 testsuite:
1f8e2b2 @yarikoptic NF: unittest-badexternals -- test either PyMVPA is working whenever e…
yarikoptic authored
492 @echo "I: Running full testsuite"
c0504e5 @yarikoptic BF: testsuite: now reports all missing imports at once
yarikoptic authored
493 @tfile=`mktemp -u testsuiteXXXXXXX`; \
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
494 git grep -h '^\W*from mvpa2.*import' mvpa2/tests | \
d038cce @yarikoptic BF: making testsuite pass
yarikoptic authored
495 grep -v '^\W*#' | \
b847ec3 @yarikoptic BF: made testsuite more idiot-proof (like if grep is colored)
yarikoptic authored
496 sed -e 's/^.*from *\(mvpa[^ ]*\) im.*/from \1 import/g' | \
ca42cae @yarikoptic NF/RF: mvpa.suite is ready for digestion, make testsuite checks for i…
yarikoptic authored
497 sort | uniq | \
ed021fd @yarikoptic BF: fixing make testsuite
yarikoptic authored
498 grep -v -e 'mvpa.\.base\.dochelpers' \
499 -e 'mvpa.\.\(tests\|testing\|support\)' \
500 -e 'mvpa.\.misc\.args' \
501 -e 'mvpa.\.clfs\.\(libsvmc\|sg\|spam\)' \
c0504e5 @yarikoptic BF: testsuite: now reports all missing imports at once
yarikoptic authored
502 | while read i; do \
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
503 grep -q "^ *$$i" mvpa2/suite.py || \
504 { echo "E: '$$i' is missing from mvpa2.suite()"; touch "$$tfile"; }; \
c0504e5 @yarikoptic BF: testsuite: now reports all missing imports at once
yarikoptic authored
505 done; \
506 [ -f "$$tfile" ] && { rm -f "$$tfile"; exit 1; } || :
ca42cae @yarikoptic NF/RF: mvpa.suite is ready for digestion, make testsuite checks for i…
yarikoptic authored
507
2bea882 @yarikoptic RF: testapiref depend on apidoc, more phonies
yarikoptic authored
508 # Check if links to api/ within documentation are broken.
b22ef59 @yarikoptic RF: do nothing for testapiref -- epydoc isn't supported any longer afaik
yarikoptic authored
509 testapiref:
510 @echo "I: epydoc support is depricated -- so, nothing to test"
511 # testapiref: apidoc
512 # @for tf in doc/*.rst; do \
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
513 # out=$$(for f in `grep api/mvpa $$tf | sed -e 's|.*\(api/mvpa2.*html\).*|\1|g' `; do \
b22ef59 @yarikoptic RF: do nothing for testapiref -- epydoc isn't supported any longer afaik
yarikoptic authored
514 # ff=build/html/$$f; [ ! -f $$ff ] && echo "E: $$f missing!"; done; ); \
515 # [ "x$$out" == "x" ] || echo -e "$$tf:\n$$out"; done
ca42cae @yarikoptic NF/RF: mvpa.suite is ready for digestion, make testsuite checks for i…
yarikoptic authored
516
1b98123 @yarikoptic NF: 'make testsphinx' -- to check if any warning is spit out by sphinx
yarikoptic authored
517 # Check if there is no WARNINGs from sphinx
518 testsphinx: htmldoc
b1efe2c @yarikoptic BF: fixing paths to html to look for system-message in testsphinx
yarikoptic authored
519 { grep -A1 system-message build/html/*html build/html/*/*html && exit 1 || exit 0 ; }
1b98123 @yarikoptic NF: 'make testsphinx' -- to check if any warning is spit out by sphinx
yarikoptic authored
520
f325d81 @yarikoptic NF: testing storing/loading of cfg + running nonlabile tests with loa…
yarikoptic authored
521 # Check if stored cfg after whole suite is imported is safe to be
522 # reloaded
523 testcfg: build
524 @echo "I: Running test to check that stored configuration is acceptable."
41ffb25 @hanke RF: pymvpa.cf -> pymvpa2.cfg
hanke authored
525 -@rm -f pymvpa2.cfg
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
526 @PYTHONPATH=$(LPYTHONPATH) $(PYTHON) -c 'from mvpa2.suite import *; cfg.save("pymvpa2.cfg");'
527 @PYTHONPATH=$(LPYTHONPATH) $(PYTHON) -c 'from mvpa2.suite import *;'
c307b85 @yarikoptic testcfg evolved into running non-labile testing twice ;)
yarikoptic authored
528 @echo "+I: Run non-labile testing to verify safety of stored configuration"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
529 @cd $(TEST_DIR) && PYTHONPATH=$(LPYTHONPATH) MVPA_TESTS_LABILE=no $(PYTHON) mvpa2/tests/__init__.py
c307b85 @yarikoptic testcfg evolved into running non-labile testing twice ;)
yarikoptic authored
530 @echo "+I: Check all known dependencies and store them"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
531 @PYTHONPATH=$(LPYTHONPATH) $(PYTHON) -c \
b622f60 @yarikoptic RF/BF: test_all_dependencies -> check_all_dependencies (to not confus…
yarikoptic authored
532 'from mvpa2.suite import *; mvpa2.base.externals.check_all_dependencies(force=False); cfg.save("pymvpa2.cfg");'
c307b85 @yarikoptic testcfg evolved into running non-labile testing twice ;)
yarikoptic authored
533 @echo "+I: Run non-labile testing to verify safety of stored configuration"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
534 @cd $(TEST_DIR) && PYTHONPATH=$(LPYTHONPATH) MVPA_TESTS_LABILE=no $(PYTHON) mvpa2/tests/__init__.py
41ffb25 @hanke RF: pymvpa.cf -> pymvpa2.cfg
hanke authored
535 -@rm -f pymvpa2.cfg
f325d81 @yarikoptic NF: testing storing/loading of cfg + running nonlabile tests with loa…
yarikoptic authored
536
458da3f @yarikoptic NF: testourcfg unittest -- loads our shipped config and runs non-labi…
yarikoptic authored
537 testourcfg: build
538 @echo "+I: Run non-labile testing to verify safety of shipped configuration"
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
539 @cd $(TEST_DIR) && PYTHONPATH=$(LPYTHONPATH) MVPACONFIG=doc/examples/pymvpa2.cfg MVPA_TESTS_LABILE=no $(PYTHON) mvpa2/tests/__init__.py
458da3f @yarikoptic NF: testourcfg unittest -- loads our shipped config and runs non-labi…
yarikoptic authored
540
cf6f46a @yarikoptic RF: renamed all the bin/* to carry pymvpa2- prefix
yarikoptic authored
541 test-prep-fmri:
542 @echo "+I: Smoke test the functionality of the pymvpa2-prep-fmri script"
d6398a4 @yarikoptic BF: fixed mvpa-prep-fmri to be compatible with mvpa2+nibabel and adde…
yarikoptic authored
543 @td=`(mktemp -d)`; trap "rm -rf $$td" exit; \
544 ln -s $(CURDIR)/mvpa2/data/example4d.nii.gz $$td/; \
545 cd $$td; \
546 PYTHONPATH=$(CURDIR):$(PYTHONPATH) \
49a68f8 @yarikoptic BF: non-interactive mpl backend for testmvpa-prep-fmri
yarikoptic authored
547 MVPA_MATPLOTLIB_BACKEND=agg \
cf6f46a @yarikoptic RF: renamed all the bin/* to carry pymvpa2- prefix
yarikoptic authored
548 $(CURDIR)/bin/pymvpa2-prep-fmri -p -e first -s T -b '-f 0.4' example4d.nii.gz; \
d6398a4 @yarikoptic BF: fixed mvpa-prep-fmri to be compatible with mvpa2+nibabel and adde…
yarikoptic authored
549 [ -e $$td/T ] \
550 && [ -e $$td/T/func_mc.pdf ] \
551 && [ -e $$td/T/func_mc.nii.gz ] \
552 && head -1 $$td/T/func_mc.par | grep -q '0 0 0' \
553
458da3f @yarikoptic NF: testourcfg unittest -- loads our shipped config and runs non-labi…
yarikoptic authored
554
555 test: unittests testmanual testsuite testexamples testcfg testourcfg
7c59771 @hanke RF: 'make test' -> 'make unittest'; new meaning of 'make test'
hanke authored
556
f97c62e @yarikoptic RF(big): warehouses of clfs and regrs got suffix 'wh'
yarikoptic authored
557 # Target to be called after some major refactoring
558 # It skips some flavors of unittests
f5af33c @hanke RF: Remove epydoc invocation from the Makefile targets.
hanke authored
559 testrefactor: unittest testmanual testsuite testexamples
f97c62e @yarikoptic RF(big): warehouses of clfs and regrs got suffix 'wh'
yarikoptic authored
560
a4123cf @yarikoptic makefile got phony target 'coverage' + added few missing PHONYs
yarikoptic authored
561 coverage: $(COVERAGE_REPORT)
4535213 @yarikoptic RF: make coverage handling -- removed -i to follow-up on bugreport
yarikoptic authored
562 $(COVERAGE_REPORT): build
1f8e2b2 @yarikoptic NF: unittest-badexternals -- test either PyMVPA is working whenever e…
yarikoptic authored
563 @echo "I: Generating coverage data and report. Takes awhile. No progress output."
8d29de1 @yarikoptic PY3: Makefile to run tests out of py3k build directory if provided PY…
yarikoptic authored
564 @cd $(TEST_DIR) && { \
565 export PYTHONPATH=$(LPYTHONPATH) MVPA_DEBUG=.* MVPA_DEBUG_METRICS=ALL; \
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
566 python-coverage -x mvpa2/tests/__init__.py >/dev/null 2>&1; \
4ba74de @hanke RF: BIG! Make unittests working dir independent and install them and …
hanke authored
567 python-coverage -r -i -o /usr,/var >| $(COVERAGE_REPORT); \
568 grep -v '100%$$' $(COVERAGE_REPORT); \
3849339 @yarikoptic BF: exclude /var from coverage statistics
yarikoptic authored
569 python-coverage -a -i -o /usr,/var ; }
0c49f7b NF: introduced python-coverage for our code. See below
Yaroslav Halchenko authored
570
571
ace9101 @yarikoptic RF: Makefile adjusted a bit, so "make distclean; make doc" works
yarikoptic authored
572 #
573 # Sources
574 #
e0e4f45 @yarikoptic RF: converted NOTES.coding into reST format, adjusted Makefile to get…
yarikoptic authored
575
55c5108 @hanke Some maintainance: Removed obsolete files, added two makefile targets…
hanke authored
576 pylint:
5b407dc @hanke DO we abandon pylint -- or at least care for the errors?
hanke authored
577 pylint -e --rcfile doc/misc/pylintrc mvpa
b1ed804 @hanke Do some missing steps for Debian packaging and libsvm transition.
hanke authored
578
207f93c @hanke Separate Debian and upstream parts in the Makefile.
hanke authored
579 #
580 # Generate new source distribution
581 # (not to be run by users, depends on debian environment)
582
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
583 # Check either everything was committed
584 check-nodirty:
585 # Need to run in clean tree. If fails: commit or clean first
586 [ "x$$(git diff)" = "x" ]
587 # || $(error "")
588
589 check-debian:
590 # Need to run in a Debian packaging branch
591 [ -d debian ]
592
593 check-debian-version: check-debian
594 # Does debian version correspond to setup.py version?
595 [ "$(DEBCHANGELOG_VERSION)" = "$(SETUPPY_VERSION)" ]
596
597 embed-dev-version: check-nodirty
598 # change upstream version
75d7f4e @hanke RF+BIG: Adjust code for mvpa -> mvpa2
hanke authored
599 sed -i -e "s/$(SETUPPY_VERSION)/$(DEV_VERSION)/g" setup.py mvpa2/__init__.py
52817e8 @hanke BF: Change merge source and package name for devel-snapshots.
hanke authored
600 # change package name
601 sed -i -e "s/= 'pymvpa',/= 'pymvpa-snapshot',/g" setup.py
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
602
308adae @hanke BF: Final fixes for dev-snapshot package creation.
hanke authored
603 deb-dev-autochangelog: check-debian
9771a92 @yarikoptic For now I am make it work with proper/sid since /dev modified Makefil…
yarikoptic authored
604 # removed -snapshot from pkg name for now
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
605 $(MAKE) check-debian-version || \
f722ad6 @hanke BF: pymvpa-snapshot also in the changelog.
hanke authored
606 dch --newversion $(DEV_VERSION)-1 --package pymvpa-snapshot \
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
607 --allow-lower-version "PyMVPA development snapshot."
608
609 deb-mergedev:
52817e8 @hanke BF: Change merge source and package name for devel-snapshots.
hanke authored
610 git merge --no-commit origin/dist/debian/dev
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
611
f397e72 @hanke Make the orig-src target reflect what we are actually doing.
hanke authored
612 orig-src:
613 git archive --format=tar --prefix=pymvpa-$(SETUPPY_VERSION)/ HEAD | \
614 gzip -9 > pymvpa_$(SETUPPY_VERSION).orig.tar.gz
3e95965 @hanke NF: Add Makefile target to create Debian source package.
hanke authored
615
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
616 devel-src: check-nodirty
617 -rm -rf dist
618 git clone -l . dist/pymvpa-snapshot
9771a92 @yarikoptic For now I am make it work with proper/sid since /dev modified Makefil…
yarikoptic authored
619 #RELEASE_CODE=-snapshot
620 RELEASE_VERSION=$(DEV_VERSION) \
f216a52 @yarikoptic renabling moving/cleaning upon devel- rules
yarikoptic authored
621 $(MAKE) -C dist/pymvpa-snapshot -f ../../Makefile embed-dev-version orig-src
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
622 mv dist/*tar.gz ..
623 rm -rf dist
624
e0e58db @hanke BF: Remove check for Debian diff.
hanke authored
625 devel-dsc: check-nodirty
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
626 -rm -rf dist
627 git clone -l . dist/pymvpa-snapshot
9771a92 @yarikoptic For now I am make it work with proper/sid since /dev modified Makefil…
yarikoptic authored
628 #RELEASE_CODE=-snapshot
629 RELEASE_VERSION=$(DEV_VERSION) \
308adae @hanke BF: Final fixes for dev-snapshot package creation.
hanke authored
630 $(MAKE) -C dist/pymvpa-snapshot -f ../../Makefile embed-dev-version orig-src deb-mergedev deb-dev-autochangelog
631 # create the dsc -- NOT using deb-src since it would clean the hell first
632 cd dist && dpkg-source -i'\.(gbp.conf|git\.*)' -b pymvpa-snapshot
f216a52 @yarikoptic renabling moving/cleaning upon devel- rules
yarikoptic authored
633 mv dist/*.gz dist/*dsc ..
634 rm -rf dist
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
635
ec44e3f @hanke BF: Fix debsrc makefile target.
hanke authored
636 # make Debian source package
637 # # DO NOT depend on orig-src here as it would generate a source tarball in a
638 # Debian branch and might miss patches!
046ffff @hanke BF: deb-src target needs clean tree and debian diff.
hanke authored
639 deb-src: check-debian distclean
3e95965 @hanke NF: Add Makefile target to create Debian source package.
hanke authored
640 cd .. && dpkg-source -i'\.(gbp.conf|git\.*)' -b $(CURDIR)
b7e5ce6 rules to fetch "sample" data
Yaroslav Halchenko authored
641
c2ce332 @hanke BF: (Re)Include libsvm wrapper in source package.
hanke authored
642
643 bdist_rpm: 3rd
14b293c @yarikoptic Merge branch 'maint/0.4' (early part) into yoh/master
yarikoptic authored
644 $(PYTHON) setup.py bdist_rpm \
c2ce332 @hanke BF: (Re)Include libsvm wrapper in source package.
hanke authored
645 --doc-files "doc data" \
646 --packager "PyMVPA Authors <pkg-exppsy-pymvpa@lists.alioth.debian.org>" \
647 --vendor "PyMVPA Authors <pkg-exppsy-pymvpa@lists.alioth.debian.org>"
648
6b26091 NF: Bits to build binary installer on MacOS X.
Michael Hanke authored
649 # build MacOS installer -- depends on patched bdist_mpkg for Leopard
1127fc8 BF: Build extensions with wrapper for MacOS installer.
Michael Hanke authored
650 bdist_mpkg: 3rd
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
651 $(PYTHON) tools/mpkg_wrapper.py setup.py build_ext
652 $(PYTHON) tools/mpkg_wrapper.py setup.py install
6b26091 NF: Bits to build binary installer on MacOS X.
Michael Hanke authored
653
c2ce332 @hanke BF: (Re)Include libsvm wrapper in source package.
hanke authored
654
ace9101 @yarikoptic RF: Makefile adjusted a bit, so "make distclean; make doc" works
yarikoptic authored
655 #
656 # Data
657 #
658
b7e5ce6 rules to fetch "sample" data
Yaroslav Halchenko authored
659 fetch-data:
abda9d1 @yarikoptic BF: Adjusting fetch-data so it works with multiple tarballs and versi…
yarikoptic authored
660 @echo "I: fetching data from datadb"
b496f7b @hanke BF: Put eyemovements data into datadb; adjust example; added descr. s…
hanke authored
661 @rsync $(RSYNC_OPTS) $(DATA_URI)/tutorial_data $(DATA_URI)/mnist \
5730423 @yarikoptic BF: fetch hyperalignment_tutorial_data for datadb as well
yarikoptic authored
662 $(DATA_URI)/face_inversion_demo datadb \
663 $(DATA_URI)/hyperalignment_tutorial_data \
abda9d1 @yarikoptic BF: Adjusting fetch-data so it works with multiple tarballs and versi…
yarikoptic authored
664 @for ds in datadb/*; do \
665 echo " I: looking at $$ds"; \
ef7e2ba @hanke RF: fetch-data rule for all data needed for manual and examples.
hanke authored
666 cd $(CURDIR)/$${ds} && \
667 md5sum -c MD5SUMS && \
abda9d1 @yarikoptic BF: Adjusting fetch-data so it works with multiple tarballs and versi…
yarikoptic authored
668 tbs="$$(/bin/ls *.tar.gz 2>/dev/null)" && \
669 [ ! -z "$$tbs" ] && \
670 for tb in $${tbs}; do \
671 fn=$${tb%.tar.gz}; dn=$${fn%-*}; \
672 [ ! -d $$dn ] && tar xzf $$tb || : ;\
673 done; \
ef7e2ba @hanke RF: fetch-data rule for all data needed for manual and examples.
hanke authored
674 done
b7e5ce6 rules to fetch "sample" data
Yaroslav Halchenko authored
675
ad766b9 @yarikoptic NF: added sound to our codeswarm movie
yarikoptic authored
676 # Various other data which might be sensitive and not distribu
677 fetch-data-nonfree: fetch-data-nonfree-stamp
678 fetch-data-nonfree-stamp:
1673b2a @yarikoptic BF: moved mp3 under temp from data + added generic rsync options
yarikoptic authored
679 @mkdir -p temp
680 # clean up previous location to make sure we don't have it
681 @rm -f data/nonfree/audio/Peter_Nalitch-Guitar.mp3
682 # remove directories which should be bogus now
683 @rmdir data/nonfree/audio data/nonfree 2>/dev/null || :
684 rsync $(RSYNC_OPTS) dev.pymvpa.org:/home/data/nonfree temp/ && touch $@
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
685
686
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
687 #
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
688 # Various sugarings (e.g. swarm)
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
689 #
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
690
1673b2a @yarikoptic BF: moved mp3 under temp from data + added generic rsync options
yarikoptic authored
691 AUDIO_TRACK=temp/nonfree/audio/Peter_Nalitch-Guitar.mp3
ad766b9 @yarikoptic NF: added sound to our codeswarm movie
yarikoptic authored
692
693 # With permission of the author, we can use Gitar for our visual history
694 $(AUDIO_TRACK): fetch-data-nonfree
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
695
696 # Nice visual git log
14a2af6 @hanke Beautify codeswarm.
hanke authored
697 # Requires: sun-java5-jdk, ffmpeg, ant
d3ab200 @hanke NF: Adding upload target for codeswarm movie.
hanke authored
698 codeswarm: $(SWARM_DIR)/pymvpa-codeswarm.flv
ad766b9 @yarikoptic NF: added sound to our codeswarm movie
yarikoptic authored
699 $(SWARM_DIR)/frames: $(SWARMTOOL_DIR) $(SWARM_DIR)/git.xml
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
700 @echo "I: Visualizing git history using codeswarm"
701 @mkdir -p $(SWARM_DIR)/frames
702 cd $(SWARMTOOL_DIR) && ./run.sh ../../doc/misc/codeswarm.config
703
812a75a @hanke BF: Fix codeswarm target to pull soundtrack
hanke authored
704 $(SWARM_DIR)/pymvpa-codeswarm.flv: $(SWARM_DIR)/frames $(AUDIO_TRACK)
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
705 @echo "I: Generating codeswarm video"
14a2af6 @hanke Beautify codeswarm.
hanke authored
706 @cd $(SWARM_DIR) && \
8afc869 @hanke BF: Surnames in movie, fix typos in Makefile, visual improvements.
hanke authored
707 ffmpeg -r $$(echo "scale=2; $$(ls -1 frames/ |wc -l) / 154" | bc) -f image2 \
94d6dd5 @hanke NF: Match the length of the swarm movie to the song.
hanke authored
708 -i frames/code_swarm-%05d.png -r 15 -b 250k \
ad766b9 @yarikoptic NF: added sound to our codeswarm movie
yarikoptic authored
709 -i ../../$(AUDIO_TRACK) -ar 22050 -ab 128k -acodec libmp3lame \
d1484cc @yarikoptic BF: adding Scott to codeswarm, extending to cover all branches, force…
yarikoptic authored
710 -y -ac 2 pymvpa-codeswarm.flv
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
711
76a34d8 @yarikoptic BF: additional fixes for codeswarm -- do not rebuild, permissions
yarikoptic authored
712 $(SWARM_DIR)/git.log: Makefile
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
713 @echo "I: Dumping git log in codeswarm preferred format"
714 @mkdir -p $(SWARM_DIR)
231ac54 @hanke Tweaking the codeswarm.
hanke authored
715 @git log --name-status --all \
57ed2a8 @hanke Switch to real names for the swarm.
hanke authored
716 --pretty=format:'%n------------------------------------------------------------------------%nr%h | %an | %ai (%aD) | x lines%nChanged paths:' | \
717 perl -pe 's/Ingo .*d \|/Ingo Fruend |/' | \
718 sed -e 's,Yaroslav.*Halchenko,Yaroslav O. Halchenko,g' \
231ac54 @hanke Tweaking the codeswarm.
hanke authored
719 -e 's,gorlins,Scott,g' -e 's,Scott Gorlin,Scott,g' -e 's,Scott,Scott Gorlin,g' \
720 -e 's,hanke,Michael Hanke,g' \
47648c2 @yarikoptic Fixing swaroop's name for the Movie
yarikoptic authored
721 -e 's,swaroop,Swaroop Guntupalli,g' \
57ed2a8 @hanke Switch to real names for the swarm.
hanke authored
722 -e 's,Per.*Sederberg,Per B. Sederberg,g' \
723 -e 's,Neukom Institute,James M. Hughes,g' >| $@
724
725
726
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
727
76a34d8 @yarikoptic BF: additional fixes for codeswarm -- do not rebuild, permissions
yarikoptic authored
728 $(SWARM_DIR)/git.xml: $(SWARMTOOL_DIR)/run.sh $(SWARM_DIR)/git.log
90f97aa @hanke RF: Make python version configurable in Makefile.
hanke authored
729 @$(PYTHON) $(SWARMTOOL_DIR)/convert_logs/convert_logs.py \
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
730 -g $(SWARM_DIR)/git.log -o $(SWARM_DIR)/git.xml
731
76a34d8 @yarikoptic BF: additional fixes for codeswarm -- do not rebuild, permissions
yarikoptic authored
732 $(SWARMTOOL_DIR)/run.sh:
7e3c8e1 @yarikoptic NF: generate visual git history with codeswarm
yarikoptic authored
733 @echo "I: Checking out codeswarm tool source code"
734 @svn checkout http://codeswarm.googlecode.com/svn/trunk/ $(SWARMTOOL_DIR)
735
ad766b9 @yarikoptic NF: added sound to our codeswarm movie
yarikoptic authored
736
d3ab200 @hanke NF: Adding upload target for codeswarm movie.
hanke authored
737 upload-codeswarm: codeswarm
76a34d8 @yarikoptic BF: additional fixes for codeswarm -- do not rebuild, permissions
yarikoptic authored
738 rsync -rzhvp --delete --chmod=Dg+s,g+rw,o+r $(SWARM_DIR)/*.flv $(WWW_UPLOAD_URI)/files/
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
739
d3ab200 @hanke NF: Adding upload target for codeswarm movie.
hanke authored
740
ace9101 @yarikoptic RF: Makefile adjusted a bit, so "make distclean; make doc" works
yarikoptic authored
741 #
742 # Trailer
743 #
744
f216a52 @yarikoptic renabling moving/cleaning upon devel- rules
yarikoptic authored
745 .PHONY: fetch-data deb-src orig-src pylint apidoc pdfdoc htmldoc doc manual \
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
746 all profile website fetch-data-misc upload-website \
a4123cf @yarikoptic makefile got phony target 'coverage' + added few missing PHONYs
yarikoptic authored
747 test testsuite testmanual testapiref testexamples testrefactor \
458da3f @yarikoptic NF: testourcfg unittest -- loads our shipped config and runs non-labi…
yarikoptic authored
748 testcfg testourcfg \
85b10d6 @yarikoptic RF+NF: a bit of Makefile unification and standartization
yarikoptic authored
749 unittest unittest-debug unittest-optimization unittest-nonlabile \
750 unittest-badexternals unittests \
b4e2bcc @yarikoptic RF/NF: adjusting Makefile src distribution rules
yarikoptic authored
751 distclean debian-clean check-nodirty check-debian check-debian-version \
7c1a616 @hanke Fix pdfdoc rule.
hanke authored
752 handbook codeswarm upload-codeswarm coverage pics
Something went wrong with that request. Please try again.