pkg-plack-core = libplack-perl # TODO: Extend when Plack::Middleware::IndexDir is in stable Debian pkg-plack-extra = libplack-middleware-deflater-perl # TODO: Use Leaflet.Markercluster only optionally pkg-js = \ libjs-requirejs libjs-requirejs-text \ libjs-leaflet libjs-leaflet-markercluster pkg-nodejs = node-requirejs pkg-code-minimal = $(pkg-plack-core) $(pkg-js) pkg-code-quick = $(pkg-code-minimal) $(pkg-plack-extra) pkg-code = $(pkg-code-quick) $(pkg-nodejs) jq lists = $(patsubst %,list-%,\ pkg-code pkg-code-quick pkg-code-minimal) all: build-compact build-compact: node /usr/share/nodejs/requirejs/r.js -o bin/build.js jq --tab --sort-keys -c '.features|=sort_by(.geometry.type)|.features|=sort_by(.properties.name)' \ < build/data/staff.json \ > build/data/staff.json~ mv -f build/data/staff.json~ build/data/staff.json touch $@ # load httpd service serve-quick: bin/src.psgi serve-compact: bin/build.psgi # machine-readable output (e.g. APT package dependencies) $(lists): list-%: @echo "$(sort $($*))" clean: rm -rf build rm -f build-compact .PHONY: all clean list-% serve-%