IMG1=
IMG2=
PLUS=plus1.png
OUT=sbs.png
OVLP=+25

SIZE=256
MINI_SIZE=20

# e.g.: make join2 IMG1=elasticsearch.png IMG2=kibana.png OUT=elasticsearch+kibana.png
join2:
	convert ${IMG1} ${PLUS} ${IMG2} -background none -gravity Center +smush -10 ${OUT}

create-blank:
	convert -size ${SIZE}x${SIZE} canvas:none blank.png

# diagonal
#
all-diagonal: elasticsearch-kibana-diagonal \
	girder-ipyparallel-diagonal \
  girder-jupyter-diagonal \
  jupyter-dask-diagonal \
  jupyter-digits-diagonal \
  jupyter-tensorboard-diagonal \
  knime-jupyter-diagonal \
  jupyter-tensorflow-diagonal

elasticsearch-kibana-diagonal:
	convert elasticsearch.png blank.png -background none -gravity Center -append .tmp1.png
	convert blank.png kibana.png -background none -gravity Center -append .tmp2.png
	convert .tmp1.png ${PLUS} .tmp2.png -background none -gravity Center +smush +0 .tmp3.png
	convert .tmp3.png -resize ${SIZE} elasticsearch+kibana.png

girder-ipyparallel-diagonal:
	convert girder.png blank.png -background none -gravity Center -append .tmp1.png
	convert blank.png ipyparallel.png -background none -gravity Center -append .tmp2.png
	convert .tmp1.png ${PLUS} .tmp2.png -background none -gravity Center +smush +0 .tmp3.png
	convert .tmp3.png -resize ${SIZE} girder+ipyparallel.png

girder-jupyter-diagonal:
	convert girder.png blank.png -background none -gravity Center -append .tmp1.png
	convert blank.png jupyter.png -background none -gravity Center -append .tmp2.png
	convert .tmp1.png ${PLUS} .tmp2.png -background none -gravity Center +smush +0 .tmp3.png
	convert .tmp3.png -resize ${SIZE} girder+jupyter.png

jupyter-dask-diagonal:
	convert jupyter.png blank.png -background none -gravity Center -append .tmp1.png
	convert blank.png dask.png -background none -gravity Center -append .tmp2.png
	convert .tmp1.png ${PLUS} .tmp2.png -background none -gravity Center +smush +0 .tmp3.png
	convert .tmp3.png -resize ${SIZE} jupyter+dask.png

jupyter-digits-diagonal:
	convert jupyter.png blank.png -background none -gravity Center -append .tmp1.png
	convert blank.png digits.png -background none -gravity Center -append .tmp2.png
	convert .tmp1.png ${PLUS} .tmp2.png -background none -gravity Center +smush +0 .tmp3.png
	convert .tmp3.png -resize ${SIZE} jupyter+digits.png

jupyter-tensorboard-diagonal:
	convert jupyter.png blank.png -background none -gravity Center -append .tmp1.png
	convert blank.png tensorboard.png -background none -gravity Center -append .tmp2.png
	convert .tmp1.png ${PLUS} .tmp2.png -background none -gravity Center +smush +0 .tmp3.png
	convert .tmp3.png -resize ${SIZE} jupyter+tensorboard.png

knime-jupyter-diagonal:
	convert knime.png blank.png -background none -gravity Center -append .tmp1.png
	convert blank.png jupyter.png -background none -gravity Center -append .tmp2.png
	convert .tmp1.png ${PLUS} .tmp2.png -background none -gravity Center +smush +0 .tmp3.png
	convert .tmp3.png -resize ${SIZE} knime+jupyter.png

jupyter-tensorflow-diagonal:
	convert jupyter.png blank.png -background none -gravity Center -append .tmp1.png
	convert blank.png tensorflow.png -background none -gravity Center -append .tmp2.png
	convert .tmp1.png ${PLUS} .tmp2.png -background none -gravity Center +smush +0 .tmp3.png
	convert .tmp3.png -resize ${SIZE} jupyter+tensorflow.png

# side-by-side
#
all-side-by-side:
	convert elasticsearch.png ${PLUS} kibana.png -background none -gravity Center +smush ${OVLP} elasticsearch+kibana+sbs.png
	convert girder.png ${PLUS} ipyparallel.png -background none -gravity Center +smush ${OVLP} girder+ipyparallel+sbs.png
	convert girder.png ${PLUS} jupyter.png -background none -gravity Center +smush ${OVLP} girder+jupyter+sbs.png
	convert jupyter.png ${PLUS} dask.png -background none -gravity Center +smush ${OVLP} jupyter+dask+sbs.png
	convert jupyter.png ${PLUS} digits.png -background none -gravity Center +smush ${OVLP} jupyter+digits+sbs.png
	convert jupyter.png ${PLUS} tensorboard.png -background none -gravity Center +smush ${OVLP} jupyter+tensorboard+sbs.png
	convert knime.png ${PLUS} jupyter.png -background none -gravity Center +smush ${OVLP} knime+jupyter+sbs.png
	convert jupyter.png ${PLUS} tensorflow.png -background none -gravity Center +smush ${OVLP} jupyter+tensorflow+sbs.png
	convert jupyter.png ${PLUS} tesseract.png -background none -gravity Center +smush +20 jupyter+tesseract+sbs.png

ALL_ICONS=codeserver.png \
		couchbase.png \
		dask.png \
		digits.png \
		elasticsearch.png \
		filebrowser.png \
		girder.png \
		h2o.png \
		ipyparallel.png \
		jenkins.png \
		jupyter.png \
		kibana.png \
		knime.png \
		nifi.png \
		novnc.png \
		opensearch.png \
		pgadmin.png \
		rstudio.png \
		slycat.png \
		spark.png \
		superset.png \
		tensorboard.png \
		tensorflow.png \
		ttyd.png \
		ubuntu.png \
		zeppelin.png \
    	tesseract.png \
		elasticsearch+kibana.png \
		girder+ipyparallel.png \
		girder+jupyter.png \
		jupyter+dask.png \
		jupyter+digits.png \
		jupyter+tensorboard.png \
		jupyter+tensorflow.png \
		knime+jupyter.png 

mini-icons:
	mkdir -p mini
	for i in ${ALL_ICONS}; do echo $$i && convert $$i -resize ${MINI_SIZE} mini/$$i; done

resize-plugins:
	for i in ${ALL_ICONS}; do echo $$i && convert $$i -resize ${SIZE} $$i; done

resize-pluses:
	for i in \
		plus1.png \
		plus2.png \
		plus3.png; do echo $$i && convert $$i -resize 64 $$i; done

.PHONY: join2 create-blank all-diagonal elasticsearch-kibana-diagonal
	girder-ipyparallel-diagonal girder-jupyter-diagonal jupyter-dask-diagonal
	jupyter-digits-diagonal jupyter-tensorboard-diagonal knime-jupyter-diagonal
	jupyter-tensorflow-diagonal all-side-by-side mini-icons resize-plugins
	resize-pluses
