# See the README for installation instructions. UGLIFY = ./node_modules/uglify-js/bin/uglifyjs JS_BEAUTIFIER = $(UGLIFY) -b -i 2 -nm -ns JS_COMPILER = $(UGLIFY) LOCALE ?= en_US all: \ iD.js \ iD.min.js \ img/line-presets.png \ iD.css DATA_FILES = $(shell find data -type f -name '*.json' -o -name '*.md') data/data.js: $(DATA_FILES) maki-sprite node build.js data/locales/en.js: data/core.yaml data/presets.yaml node build.js iD.js: \ js/lib/bootstrap-tooltip.js \ js/lib/d3.v3.js \ js/lib/d3.combobox.js \ js/lib/d3.geo.tile.js \ js/lib/d3.jsonp.js \ js/lib/d3.keybinding.js \ js/lib/d3.one.js \ js/lib/d3.size.js \ js/lib/d3.trigger.js \ js/lib/d3.typeahead.js \ js/lib/d3.curtain.js \ js/lib/jxon.js \ js/lib/lodash.js \ js/lib/osmauth.js \ js/lib/rtree.js \ js/lib/togeojson.js \ js/lib/marked.js \ js/id/start.js \ js/id/id.js \ js/id/services/*.js \ js/id/util.js \ js/id/geo.js \ js/id/geo/*.js \ js/id/actions.js \ js/id/actions/*.js \ js/id/behavior.js \ js/id/behavior/*.js \ js/id/modes.js \ js/id/modes/*.js \ js/id/operations.js \ js/id/operations/*.js \ js/id/core/*.js \ js/id/renderer/*.js \ js/id/svg.js \ js/id/svg/*.js \ js/id/ui.js \ js/id/ui/*.js \ js/id/ui/preset/*.js \ js/id/ui/intro/*.js \ js/id/presets.js \ js/id/presets/*.js \ js/id/validate.js \ js/id/end.js \ js/lib/locale.js \ data/introGraph.js \ data/locales.js .INTERMEDIATE iD.js: data/data.js iD.js: node_modules/.install Makefile @rm -f $@ cat $(filter %.js,$^) > $@ iD.css: css/*.css cat css/reset.css css/map.css css/app.css css/line-presets.css css/maki-sprite.css > $@ node_modules/.install: package.json npm install && touch node_modules/.install %.min.js: %.js Makefile @rm -f $@ $(JS_COMPILER) $< -c -m -o $@ install_root ?= build install: all mkdir -p $(install_root) cp iD.js iD.min.js land.html $(install_root) cp index_packaged.html $(install_root)/index.html cp -R css/. $(install_root)/css cp -R img/. $(install_root)/img clean: rm -f iD*.js translations: node data/update_locales data/locales.js: data/locales/*.js cat $^ > $@ SPRITE = inkscape --export-area-page --export-png=img/line-presets.png svg/line-presets.svg img/line-presets.png: svg/line-presets.svg if [ `which inkscape` ]; then $(SPRITE); else echo "Inkscape is not installed"; fi; maki-sprite: node_modules/maki/renders/*.png node data/maki_sprite D3_FILES = \ node_modules/d3/src/start.js \ node_modules/d3/src/arrays/index.js \ node_modules/d3/src/behavior/behavior.js \ node_modules/d3/src/behavior/zoom.js \ node_modules/d3/src/core/index.js \ node_modules/d3/src/event/index.js \ node_modules/d3/src/geo/mercator.js \ node_modules/d3/src/geo/path.js \ node_modules/d3/src/geo/stream.js \ node_modules/d3/src/geom/polygon.js \ node_modules/d3/src/selection/index.js \ node_modules/d3/src/transition/index.js \ node_modules/d3/src/xhr/index.js \ node_modules/d3/src/end.js js/lib/d3.v3.js: $(D3_FILES) node_modules/.bin/smash $(D3_FILES) > $@