2013-11-22 21:01:02 +01:00
|
|
|
OS := $(shell uname -s)
|
2013-02-23 13:10:50 +01:00
|
|
|
|
2014-09-03 23:57:27 +02:00
|
|
|
PYTHON = python
|
|
|
|
|
2013-02-26 21:22:22 +01:00
|
|
|
ifeq ($(JOBS),)
|
|
|
|
JOBS:=1
|
2013-02-23 13:10:50 +01:00
|
|
|
endif
|
|
|
|
|
2016-01-30 04:00:04 +01:00
|
|
|
ifeq ($(HEAVY_JOBS),)
|
|
|
|
HEAVY_JOBS:=1
|
|
|
|
endif
|
|
|
|
|
2011-02-04 23:29:10 +01:00
|
|
|
all: mapnik
|
|
|
|
|
2011-08-30 07:20:37 +02:00
|
|
|
install:
|
2014-09-03 23:57:27 +02:00
|
|
|
$(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1 install
|
2011-02-04 23:29:10 +01:00
|
|
|
|
2015-07-28 04:17:31 +02: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}" && \
|
2016-02-26 19:42:03 +01:00
|
|
|
git submodule update --depth 100 --init && \
|
|
|
|
rm -rf deps/mapbox/variant/.git && \
|
2015-07-28 04:17:31 +02: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}/
|
|
|
|
|
2015-05-04 09:28:28 +02:00
|
|
|
python:
|
2015-06-05 17:14:31 +02: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;
|
2015-05-04 10:22:09 +02:00
|
|
|
make
|
2015-05-04 09:28:28 +02:00
|
|
|
python bindings/python/test/visual.py -q
|
|
|
|
|
2015-02-23 20:44:36 +01:00
|
|
|
src/json/libmapnik-json.a:
|
2016-01-31 15:36:00 +01:00
|
|
|
# we first build memory intensive files with -j$(HEAVY_JOBS)
|
2016-01-30 04:00:04 +01:00
|
|
|
$(PYTHON) scons/scons.py -j$(HEAVY_JOBS) \
|
2015-01-24 19:05:58 +01:00
|
|
|
--config=cache --implicit-cache --max-drift=1 \
|
2016-01-25 02:45:53 +01:00
|
|
|
src/renderer_common/render_group_symbolizer.os \
|
2016-01-27 22:07:04 +01:00
|
|
|
src/renderer_common/render_markers_symbolizer.os \
|
2016-01-22 14:13:25 +01:00
|
|
|
src/renderer_common/render_thunk_extractor.os \
|
2015-01-24 19:05:58 +01:00
|
|
|
src/json/libmapnik-json.a \
|
|
|
|
src/wkt/libmapnik-wkt.a \
|
2016-03-03 17:05:05 +01:00
|
|
|
src/marker_helpers.os \
|
|
|
|
src/svg/svg_transform_parser.os \
|
|
|
|
src/agg/process_line_symbolizer.os \
|
|
|
|
plugins/input/geojson/geojson_datasource.os \
|
|
|
|
utils/mapnik-index/process_geojson_file.o \
|
2016-03-03 19:15:29 +01:00
|
|
|
src/svg/svg_path_parser.os \
|
|
|
|
src/svg/svg_parser.os \
|
|
|
|
src/svg/svg_points_parser.os \
|
|
|
|
src/svg/svg_transform_parser.os \
|
|
|
|
|
2015-02-23 20:44:36 +01:00
|
|
|
|
|
|
|
mapnik: src/json/libmapnik-json.a
|
2015-01-24 19:05:58 +01:00
|
|
|
# then install the rest with -j$(JOBS)
|
2014-09-03 23:57:27 +02:00
|
|
|
$(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1
|
2011-02-04 23:29:10 +01:00
|
|
|
|
|
|
|
clean:
|
2014-09-03 23:57:27 +02:00
|
|
|
@$(PYTHON) scons/scons.py -j$(JOBS) -c --config=cache --implicit-cache --max-drift=1
|
2012-08-16 23:12:49 +02:00
|
|
|
@if test -e ".sconsign.dblite"; then rm ".sconsign.dblite"; fi
|
2014-10-01 01:40:08 +02:00
|
|
|
@if test -e "config.log"; then rm "config.log"; fi
|
|
|
|
@if test -e "config.cache"; then rm "config.cache"; fi
|
2013-01-19 04:01:12 +01:00
|
|
|
@if test -e ".sconf_temp/"; then rm -r ".sconf_temp/"; fi
|
2013-02-21 01:12:53 +01:00
|
|
|
@find ./ -name "*.pyc" -exec rm {} \;
|
2012-12-07 11:31:05 +01:00
|
|
|
@find ./ -name "*.os" -exec rm {} \;
|
2015-04-27 00:28:26 +02:00
|
|
|
@find ./src/ -name "*.dylib" -exec rm {} \;
|
|
|
|
@find ./src/ -name "*.so" -exec rm {} \;
|
2012-12-07 11:31:05 +01:00
|
|
|
@find ./ -name "*.o" -exec rm {} \;
|
2015-04-27 00:28:26 +02:00
|
|
|
@find ./src/ -name "*.a" -exec rm {} \;
|
2016-03-03 23:19:12 +01:00
|
|
|
@find ./ -name "*.gcda" -exec rm {} \;
|
|
|
|
@find ./ -name "*.gcno" -exec rm {} \;
|
2011-08-23 20:10:52 +02:00
|
|
|
|
2012-08-16 23:12:49 +02:00
|
|
|
distclean:
|
2012-10-10 18:26:55 +02:00
|
|
|
if test -e "config.py"; then mv "config.py" "config.py.backup"; fi
|
2011-02-04 23:29:10 +01:00
|
|
|
|
2012-08-16 23:12:49 +02:00
|
|
|
reset: distclean
|
|
|
|
|
2013-01-19 04:01:12 +01:00
|
|
|
rebuild:
|
|
|
|
make uninstall && make clean && time make && make install
|
|
|
|
|
2011-02-04 23:29:10 +01:00
|
|
|
uninstall:
|
2014-09-03 23:57:27 +02:00
|
|
|
@$(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1 uninstall
|
2011-02-04 23:29:10 +01:00
|
|
|
|
2015-04-30 17:11:53 +02:00
|
|
|
test/data:
|
|
|
|
git submodule update --init
|
|
|
|
|
|
|
|
test: ./test/data
|
2015-04-30 16:41:16 +02:00
|
|
|
@./test/run
|
2011-08-23 20:10:52 +02:00
|
|
|
|
2015-04-25 22:08:12 +02:00
|
|
|
check: test
|
2012-12-03 03:30:32 +01:00
|
|
|
|
2013-11-22 21:01:02 +01:00
|
|
|
bench:
|
2013-11-22 21:07:07 +01:00
|
|
|
./benchmark/run
|
2013-11-22 21:01:02 +01:00
|
|
|
|
2012-08-17 18:47:35 +02:00
|
|
|
demo:
|
2013-06-03 01:40:03 +02:00
|
|
|
cd demo/c++; ./rundemo `mapnik-config --prefix`
|
2012-08-17 18:47:35 +02:00
|
|
|
|
2012-02-25 03:55:47 +01:00
|
|
|
pep8:
|
|
|
|
# https://gist.github.com/1903033
|
|
|
|
# gsed on osx
|
2015-02-02 19:37:59 +01:00
|
|
|
@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 03:55:47 +01:00
|
|
|
|
2015-04-26 23:26:11 +02:00
|
|
|
# note: pass --gen-suppressions=yes to create new suppression entries
|
2012-03-23 23:07:28 +01:00
|
|
|
grind:
|
2015-05-23 21:05:40 +02:00
|
|
|
@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 20:32:20 +02:00
|
|
|
for FILE in test/standalone/*-bin; do \
|
2015-04-26 23:26:11 +02:00
|
|
|
valgrind --suppressions=./test/unit/valgrind.supp --leak-check=full --log-fd=1 $${FILE} | grep definitely; \
|
2012-04-05 17:48:46 +02:00
|
|
|
done
|
2015-05-23 21:05:40 +02:00
|
|
|
@source localize.sh && \
|
2015-04-26 23:26:11 +02:00
|
|
|
valgrind --suppressions=./test/unit/valgrind.supp --leak-check=full --log-fd=1 ./test/unit/run | grep definitely;
|
2012-03-23 23:07:28 +01:00
|
|
|
|
2012-07-26 01:58:45 +02:00
|
|
|
render:
|
|
|
|
@for FILE in tests/data/good_maps/*xml; do \
|
|
|
|
nik2img.py $${FILE} /tmp/$$(basename $${FILE}).png; \
|
|
|
|
done
|
|
|
|
|
2012-10-08 19:45:03 +02:00
|
|
|
.PHONY: install mapnik clean distclean reset uninstall test demo pep8 grind render
|