VERSION = 0.9.2

all: single

single:
	./node_modules/webpack/bin/webpack.js --optimize-max-chunks 1

init:
	@make _version
	@git pull
	@[ -e '@ecmwf' ] || git clone https://software.ecmwf.int/stash/scm/web/node-modules.git @ecmwf;
	@cd @ecmwf && git pull
	@rm -rf node_modules && npm install

WMODIR = static/single-page-charts/
dist:
	mkdir -p $(WMODIR)
	NODE_ENV=prod make single --quiet
	cat LICENSE polyfills.js index.js > index.min.js
	@rm index.js

clean:
	rm -rf node_modules *.tar

# version test returns 1 if a<b, 2 if b>a, or 0 if a==b
vercomp = \
	if [[ $(1) == $(2) ]]; then return 0; fi; \
	IFS='.' read -r -a array1 <<< $(1); \
	IFS='.' read -r -a array2 <<< $(2); \
	for i in $${!array1[@]}; do \
		if ((10\#$${array1[i]} > 10\#$${array2[i]})); \
		then \
			result=1; \
			break; \
		fi; \
		if ((10\#$${array1[i]} < 10\#$${array2[i]})); \
		then \
			result=2; \
			echo; \
			echo bad nodejs version: $(1); \
			echo you may need to install nvm: https://github.com/creationix/nvm; \
			echo; \
			false; \
			break; \
		fi; \
	done; \

# check nodejs is at least v6
_version:
	version=`node --version` && $(call vercomp,$${version##v},'6.0.0') \
	if [ $$result -eq 2 ]; then false; fi;

.PHONY : _version

