-all: data/openstreetmap.org data/openstreetmap.com data/openstreetmap.net \
- data/openstreetmaps.org data/osm.org \
- data/osmfoundation.org data/stateofthemap.org data/stateofthemap.com \
- data/tile.openstreetmap.org kml/tile.openstreetmap.org.kml
+preview: preview_bytemark preview_cloudflare
+
+preview_bytemark: data/openstreetmap.org data/openstreetmap.com data/openstreetmap.net \
+ data/openstreetmap.ca data/openstreetmap.eu data/openstreetmap.pro \
+ data/openstreetmaps.org data/osm.org data/openmaps.org \
+ data/openstreetmap.io data/osm.io \
+ data/openworldmap.org data/freeosm.org data/open-maps.org data/open-maps.com data/osmbugs.org \
+ data/openstreetmap.uk data/openstreetmap.org.uk data/openstreetmap.co.uk \
+ data/openstreetmap.org.za data/osm.org.za \
+ data/osmfoundation.org \
+ data/stateofthemap.org data/stateofthemap.com data/sotm.org \
+ data/stateofthemap.eu \
+ data/opengeodata.org \
+ data/switch2osm.org data/switch2osm.com \
+ data/tile.openstreetmap.org \
+ data/tile.openstreetmap.org \
+ data/render.openstreetmap.org
+
+preview_cloudflare: data/tile.openstreetmap.org data/render.openstreetmap.org
+ dnscontrol preview
+
+update: update_bytemark update_cloudflare update_geodns
+
+update_bytemark: preview_bytemark
+ bin/update
+
+update_cloudflare: data/tile.openstreetmap.org data/render.openstreetmap.org
+ dnscontrol push --providers cloudflare
+
+update_geodns: gdns/tile.map gdns/tile.resource gdns/tile.weighted
+ parallel --will-cite rsync --quiet --recursive --checksum gdns/ {}::geodns ::: ${GEODNS_SERVERS}