===========================
# Combine some Javascript files, and gzips the resulting files, so Play will serve them
# gzip compressed.
PUBLIC_JS_DIR=target/scala-2.9.1/classes/public/debiki-core-resources/js/
PUBLIC_JS_LIB_DIR=target/scala-2.9.1/classes/public/debiki-core-resources/lib/
JS_DESKTOP_MIN_JS = ${PUBLIC_JS_DIR}combined-debiki-desktop.min.js
JS_TOUCH_MIN_JS = ${PUBLIC_JS_DIR}combined-debiki-touch.min.js
JS_LOGIN_MIN_JS = ${PUBLIC_JS_DIR}combined-debiki-login.min.js
JS_DESKTOP_MIN_JS_GZ = ${JS_DESKTOP_MIN_JS}.gz
JS_TOUCH_MIN_JS_GZ = ${JS_TOUCH_MIN_JS}.gz
JS_LOGIN_MIN_JS_GZ = ${JS_LOGIN_MIN_JS}.gz
JS_COMMON_SRC = \
${PUBLIC_JS_DIR}diff_match_patch.js \
${PUBLIC_JS_DIR}html-sanitizer-minified.js \
${PUBLIC_JS_DIR}jquery-cookie.js \
${PUBLIC_JS_DIR}tagdog.js \
${PUBLIC_JS_DIR}javascript-yaml-parser.js
JS_DESKTOP_ONLY_SRC = \
${PUBLIC_JS_DIR}jquery-scrollable.js \
${PUBLIC_JS_DIR}debiki-utterscroll.js \
${PUBLIC_JS_DIR}bootstrap-tooltip.js
JS_LOGIN_SRC = \
${PUBLIC_JS_DIR}popuplib.js \
${PUBLIC_JS_LIB_DIR}openid-selector/js/openid-jquery.js \
${PUBLIC_JS_LIB_DIR}openid-selector/js/openid-en.js
JS_TOUCH_SRC = \
${JS_COMMON_SRC} \
${PUBLIC_JS_DIR}debiki.js
# For now, don't include JS_LOGIN_SRC. I'll load those files one at a time,
# so I don't have to rewrite that much Javascript right now.
JS_DESKTOP_SRC = \
${JS_COMMON_SRC} \
${JS_DESKTOP_ONLY_SRC} \
${PUBLIC_JS_DIR}debiki.js
combine_and_gzip_javascript: ${JS_DESKTOP_MIN_JS_GZ} ${JS_TOUCH_MIN_JS_GZ} ${JS_LOGIN_MIN_JS_GZ}
# (How can I merge the dupl code in these 2 x 3 rules?)
${JS_DESKTOP_MIN_JS}: ${JS_DESKTOP_SRC}
cat $^ > $@
${JS_TOUCH_MIN_JS}: ${JS_TOUCH_SRC}
cat $^ > $@
${JS_LOGIN_MIN_JS}: ${JS_LOGIN_SRC}
cat $^ > $@
${JS_DESKTOP_MIN_JS_GZ}: ${JS_DESKTOP_MIN_JS}
gzip -c $^ > $@
${JS_TOUCH_MIN_JS_GZ}: ${JS_TOUCH_MIN_JS}
gzip -c $^ > $@
${JS_LOGIN_MIN_JS_GZ}: ${JS_LOGIN_MIN_JS}
gzip -c $^ > $@