File: Makefile

package info (click to toggle)
mapnik 4.1.4%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,580 kB
  • sloc: cpp: 163,826; python: 1,265; sh: 690; xml: 161; makefile: 123; perl: 28; lisp: 13
file content (109 lines) | stat: -rwxr-xr-x 3,211 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
OS := $(shell uname -s)

ifeq ($(JOBS),)
	JOBS:=1
endif

ifeq ($(HEAVY_JOBS),)
	HEAVY_JOBS:=1
endif

all: mapnik

install:
	$(PYTHON) scons/scons.py -j$(JOBS) --config=cache --implicit-cache --max-drift=1 install

release:
	./scripts/publish_release.sh

test-release:
	./scripts/test_release.sh

src/json/libmapnik-json.a:
	# we first build memory intensive files with -j$(HEAVY_JOBS)
	$(PYTHON) scons/scons.py -j$(HEAVY_JOBS) \
		--config=cache --implicit-cache --max-drift=1 \
		src/renderer_common/render_group_symbolizer.os \
		src/renderer_common/render_markers_symbolizer.os \
		src/renderer_common/render_thunk_extractor.os \
		src/json/libmapnik-json.a \
		src/wkt/libmapnik-wkt.a \
		src/css/css_grammar_x3.os \
		src/css/css_color_grammar_x3.os \
		src/expression_grammar_x3.os \
		src/transform_expression_grammar_x3.os \
		src/image_filter_grammar_x3.os \
		src/marker_helpers.os \
		src/svg/svg_transform_parser.os \
		src/agg/process_line_symbolizer.os \
		plugins/input/geojson/geojson_datasource.os \
		src/svg/svg_path_parser.os \
		src/svg/svg_parser.os \
		src/svg/svg_points_parser.os \
		src/svg/svg_transform_parser.os \


mapnik: src/json/libmapnik-json.a
	# 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
	@if test -e "config.log"; then rm "config.log"; fi
	@if test -e "config.cache"; then rm "config.cache"; fi
	@if test -e ".sconf_temp/"; then rm -r ".sconf_temp/"; fi
	@find ./ -name "*.pyc" -exec rm {} \;
	@find ./ -name "*.os" -exec rm {} \;
	@find ./src/ -name "*.dylib" -exec rm {} \;
	@find ./src/ -name "*.so" -exec rm {} \;
	@find ./ -name "*.o" -exec rm {} \;
	@find ./src/ -name "*.a" -exec rm {} \;
	@find ./ -name "*.gcda" -exec rm {} \;
	@find ./ -name "*.gcno" -exec rm {} \;

distclean:
	if test -e "config.py"; then mv "config.py" "config.py.backup"; fi

reset: distclean

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-visual:
	./scripts/ensure_test_data.sh

test/data:
	./scripts/ensure_test_data.sh

test: ./test/data test/data-visual
	@./test/run

check: test

bench:
	./benchmark/run

demo:
	cd demo/c++; ./rundemo `mapnik-config --prefix`

# 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 && \
	for FILE in test/standalone/*-bin; do \
		valgrind --suppressions=./test/unit/valgrind.supp --leak-check=full --log-fd=1 $${FILE} | grep definitely; \
	done
	@source localize.sh && \
	    valgrind --suppressions=./test/unit/valgrind.supp --leak-check=full --log-fd=1 ./test/unit/run | grep definitely;

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