mapnik/Makefile

124 lines
4 KiB
Makefile
Raw Normal View History

2013-11-22 20:01:02 +00:00
OS := $(shell uname -s)
2013-02-23 12:10:50 +00:00
PYTHON = python
ifeq ($(JOBS),)
JOBS:=1
2013-02-23 12:10:50 +00:00
endif
ifeq ($(HEAVY_JOBS),)
HEAVY_JOBS:=1
endif
all: mapnik
2011-08-30 05:20:37 +00:00
install:
$(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1 install
2015-07-28 02:17:31 +00:00
release:
export MAPNIK_VERSION=$(shell ./utils/mapnik-config/mapnik-config --version) && \
export TARBALL_NAME="mapnik-v$${MAPNIK_VERSION}" && \
cd /tmp/ && \
rm -rf $${TARBALL_NAME} && \
git clone --depth 1 --branch v$${MAPNIK_VERSION} git@github.com:mapnik/mapnik.git $${TARBALL_NAME} && \
cd $${TARBALL_NAME} && \
git checkout "tags/v$${MAPNIK_VERSION}" && \
git submodule update --depth 100 --init && \
rm -rf deps/mapbox/variant/.git && \
2015-07-28 02:17:31 +00:00
rm -rf test/data/.git && \
rm -rf test/data/.gitignore && \
rm -rf test/data-visual/.git && \
rm -rf test/data-visual/.gitignore && \
rm -rf .git && \
rm -rf .gitignore && \
cd ../ && \
tar cjf $${TARBALL_NAME}.tar.bz2 $${TARBALL_NAME}/ && \
aws s3 cp --acl public-read $${TARBALL_NAME}.tar.bz2 s3://mapnik/dist/v$${MAPNIK_VERSION}/
python:
2015-06-05 15:14:31 +00:00
if [ ! -d ./bindings/python ]; then git clone git@github.com:mapnik/python-mapnik.git --recursive ./bindings/python; else (cd bindings/python && git pull && git submodule update --init); fi;
make
python bindings/python/test/visual.py -q
src/json/libmapnik-json.a:
# we first build memory intensive files with -j$(HEAVY_JOBS)
$(PYTHON) scons/scons.py -j$(HEAVY_JOBS) \
2015-01-24 18:05:58 +00:00
--config=cache --implicit-cache --max-drift=1 \
src/renderer_common/render_group_symbolizer.os \
src/renderer_common/render_markers_symbolizer.os \
2016-01-22 13:13:25 +00:00
src/renderer_common/render_thunk_extractor.os \
2015-01-24 18:05:58 +00:00
src/json/libmapnik-json.a \
src/wkt/libmapnik-wkt.a \
src/css_color_grammar.os \
src/expression_grammar.os \
src/transform_expression_grammar.os \
src/image_filter_grammar.os \
mapnik: src/json/libmapnik-json.a
2015-01-24 18:05:58 +00:00
# then install the rest with -j$(JOBS)
$(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1
clean:
@$(PYTHON) scons/scons.py -j$(JOBS) -c --config=cache --implicit-cache --max-drift=1
@if test -e ".sconsign.dblite"; then rm ".sconsign.dblite"; fi
2014-09-30 23:40:08 +00:00
@if test -e "config.log"; then rm "config.log"; fi
@if test -e "config.cache"; then rm "config.cache"; fi
2013-01-19 03:01:12 +00:00
@if test -e ".sconf_temp/"; then rm -r ".sconf_temp/"; fi
@find ./ -name "*.pyc" -exec rm {} \;
@find ./ -name "*.os" -exec rm {} \;
2015-04-26 22:28:26 +00:00
@find ./src/ -name "*.dylib" -exec rm {} \;
@find ./src/ -name "*.so" -exec rm {} \;
@find ./ -name "*.o" -exec rm {} \;
2015-04-26 22:28:26 +00:00
@find ./src/ -name "*.a" -exec rm {} \;
distclean:
2012-10-10 16:26:55 +00:00
if test -e "config.py"; then mv "config.py" "config.py.backup"; fi
reset: distclean
2013-01-19 03:01:12 +00:00
rebuild:
make uninstall && make clean && time make && make install
uninstall:
@$(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1 uninstall
test/data:
git submodule update --init
test: ./test/data
@./test/run
2015-04-25 20:08:12 +00:00
check: test
2013-11-22 20:01:02 +00:00
bench:
2013-11-22 20:07:07 +00:00
./benchmark/run
2013-11-22 20:01:02 +00:00
2012-08-17 16:47:35 +00:00
demo:
2013-06-02 23:40:03 +00:00
cd demo/c++; ./rundemo `mapnik-config --prefix`
2012-08-17 16:47:35 +00:00
2012-02-25 02:55:47 +00:00
pep8:
# https://gist.github.com/1903033
# gsed on osx
@pep8 -r --select=W293 -q --filename=*.py `pwd`/tests/ | xargs gsed -i 's/^[ \r\t]*$$//'
@pep8 -r --select=W391 -q --filename=*.py `pwd`/tests/ | xargs gsed -i -e :a -e '/^\n*$$/{$$d;N;ba' -e '}'
@pep8 -r --select=W391 -q --filename=*.py `pwd`/tests/ | xargs ged -i '/./,/^$$/!d'
2012-02-25 02:55:47 +00:00
2015-04-26 21:26:11 +00:00
# note: pass --gen-suppressions=yes to create new suppression entries
grind:
@source localize.sh && \
valgrind --suppressions=./test/unit/valgrind.supp --leak-check=full --log-fd=1 ./test/visual/run | grep definitely;
@source localize.sh && \
2015-04-26 18:32:20 +00:00
for FILE in test/standalone/*-bin; do \
2015-04-26 21:26:11 +00:00
valgrind --suppressions=./test/unit/valgrind.supp --leak-check=full --log-fd=1 $${FILE} | grep definitely; \
done
@source localize.sh && \
2015-04-26 21:26:11 +00:00
valgrind --suppressions=./test/unit/valgrind.supp --leak-check=full --log-fd=1 ./test/unit/run | grep definitely;
2012-07-25 23:58:45 +00:00
render:
@for FILE in tests/data/good_maps/*xml; do \
nik2img.py $${FILE} /tmp/$$(basename $${FILE}).png; \
done
.PHONY: install mapnik clean distclean reset uninstall test demo pep8 grind render