X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=src%2FMakefile;h=cf60ea6fe41abdf06688a1ac54af6d10e9c38dab;hp=de56c71dfc2e2f9bc049ef389cd5278a8ffc7e89;hb=058ce4a204a9ce4d63b2d319037f60cd9f94ff1b;hpb=6475389c1c1875fcdd9057427fd61b1ea9ec05bf diff --git a/src/Makefile b/src/Makefile index de56c71..cf60ea6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,86 +1,137 @@ -# select a jquery version -#JQUERY_URL= http://code.jquery.com/jquery-2.0.3.min.js -JQUERY_URL= http://code.jquery.com/jquery-1.10.0.min.js -#JQUERY_URL= http://code.jquery.com/jquery-1.9.1.min.js - -JQUERY_UI_URL= http://code.jquery.com/ui/1.10.3/jquery-ui.js -JQUERY_JSON_URL= https://jquery-json.googlecode.com/files/jquery.json-2.4.js -HANDLEBARS_URL= http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v1.1.2.js -PP2_URL= http://git.indexdata.com/?p=pazpar2.git;a=blob_plain;f=js/pz2.js;hb=HEAD -VERSION = $(shell tr -d '\012' < VERSION) +# Copyright (c) 2013-2015 Index Data ApS. http://indexdata.com -MKWS_JS= mkws-complete.js +DEST = ../tools/htdocs -JQUERY_FILE := $(shell basename ${JQUERY_URL}) -JQUERY_JSON_FILE := $(shell basename ${JQUERY_JSON_URL}) -HANDLEBARS_FILE := $(shell basename ${HANDLEBARS_URL}) +HANDLEBARS_FILE = handlebars-v2.0.0.js +JQUERY_FILE = jquery-1.10.0.min.js +JQUERY_JSON_FILE = jquery.json-2.4.js +JSNLOG_FILE = jsnlog.min.js PP2_FILE = pz2.js -INSTALLABLE = handlebars-v1.1.2.js jquery-1.10.0.min.js \ - jquery.json-2.4.js mkws-complete.js mkws-complete.min.js \ - mkws.min.js pz2.js - -all: mkws.min.js mkws-complete.min.js +HANDLEBARS_URL = http://builds.handlebarsjs.com.s3.amazonaws.com/${HANDLEBARS_FILE} +JQUERY_URL = http://code.jquery.com/${JQUERY_FILE} +JQUERY_JSON_URL = https://jquery-json.googlecode.com/files/${JQUERY_JSON_FILE} +JSNLOG_URL = https://raw.githubusercontent.com/mperdeck/jsnlog.js/2.7.5/${JSNLOG_FILE} +PP2_URL = http://git.indexdata.com/?p=pazpar2.git;a=blob_plain;f=js/${PP2_FILE};hb=HEAD -mkws-js mkws-complete.js: Makefile mkws.js mkws-jquery.js ${JQUERY_FILE} ${JQUERY_JSON_FILE} ${HANDLEBARS_FILE} ${PP2_FILE} +VERSION = $(shell tr -d '\012' < VERSION) +HANDLEBARS = ../test/node_modules/.bin/handlebars +UGLIFYJS = ../test/node_modules/.bin/uglifyjs + +COMPONENTS = mkws-handlebars.js \ + mkws-core.js \ + mkws-team.js \ + mkws-filter.js \ + mkws-widget.js \ + mkws-widget-main.js \ + mkws-widget-facets.js \ + mkws-widget-authname.js \ + mkws-widget-categories.js \ + mkws-widget-log.js \ + mkws-widget-record.js \ + mkws-widget-wikipedia.js \ + mkws-widget-ru.js \ + mkws-widget-builder.js \ + mkws-templates.js \ + mkws-popup.js + +DOWNLOADABLE = ${HANDLEBARS_FILE} ${JQUERY_FILE} ${JQUERY_JSON_FILE} ${JSNLOG_FILE} ${PP2_FILE} +RELEASABLE = mkws.js mkws.min.js mkws-complete.js mkws-complete.min.js +AVAILABLE = $(DOWNLOADABLE) $(RELEASABLE) NEWS VERSION +INSTALLED_DOWNLOADABLE = $(DOWNLOADABLE:%=$(DEST)/%) +INSTALLED_RELEASABLE = $(RELEASABLE:%=$(DEST)/%) +INSTALLED = $(AVAILABLE:%=$(DEST)/%) + +all: $(INSTALLED) + +$(DEST)/mkws-complete.js: Makefile $(INSTALLED_DOWNLOADABLE) $(DEST)/mkws.js ( set -e; \ - echo "/*! Copyright (c) 2013-2014 IndexData ApS. http://indexdata.com"; \ - echo " Licence: GPL, http://www.indexdata.com/licences/gpl"; \ + echo "/*! Copyright (c) 2013-$$(date '+%Y') Index Data ApS. http://indexdata.com"; \ + echo " Licence: LGPL, http://www.indexdata.com/licences/lgpl"; \ echo " created at: $$(date)"; \ - echo " mkws.js GIT id: $$(git log mkws.js | head -n 1 | perl -npe 's,\S+\s+,,')"; \ + echo " MKWS GIT id: $$(git show | head -n 1 | perl -npe 's,\S+\s+,,')"; \ echo " pz2.js GIT id: $$(curl -sSf 'http://git.indexdata.com/?p=pazpar2.git;a=rss' | egrep ',')"; \ echo "*/"; \ - cat ${JQUERY_FILE}; \ - cat ${JQUERY_JSON_FILE}; \ - cat ${HANDLEBARS_FILE}; \ - cat ${PP2_FILE}; \ - cat mkws.js; \ - cat mkws-jquery.js; \ - ) > mkws-complete.js.new - mv -f mkws-complete.js.new mkws-complete.js + cat $(DEST)/${JQUERY_FILE}; \ + cat $(DEST)/${JQUERY_JSON_FILE}; \ + cat $(DEST)/${JSNLOG_FILE}; \ + echo 'mkws_jQuery = jQuery.noConflict(true);'; \ + cat $(DEST)/${HANDLEBARS_FILE}; \ + cat $(DEST)/${PP2_FILE}; \ + cat $(DEST)/mkws.js; \ + ) > $@.tmp + mv -f $@.tmp $@ %.min.js: %.js - yui-compressor $? > $@.new - mv -f $@.new $@ + ${UGLIFYJS} $? > $@.tmp + mv -f $@.tmp $@ -mkws-syntax-check: - yui-compressor mkws.js >/dev/null +$(DEST)/${HANDLEBARS_FILE}: + curl -sSf ${HANDLEBARS_URL} -o $@.tmp + mv -f $@.tmp $@ -${JQUERY_FILE}: - curl -sSf ${JQUERY_URL} -o $@.new - perl -npe 's,sourceMappingURL=jquery.*map,,' $@.new > $@ - rm -f $@.new +$(DEST)/${JQUERY_FILE}: + curl -sSf ${JQUERY_URL} -o $@.tmp + perl -npe 's,sourceMappingURL=jquery.*map,,' $@.tmp | sed 's@@@' > $@ + rm -f $@.tmp -${JQUERY_JSON_FILE}: +$(DEST)/${JQUERY_JSON_FILE}: curl -sSf ${JQUERY_JSON_URL} -o $@.tmp mv -f $@.tmp $@ -${HANDLEBARS_FILE}: - curl -sSf ${HANDLEBARS_URL} -o $@.tmp +$(DEST)/${JSNLOG_FILE}: + curl -sSf ${JSNLOG_URL} -o $@.tmp mv -f $@.tmp $@ -${PP2_FILE}: +$(DEST)/${PP2_FILE}: curl -sSf "${PP2_URL}" -o $@.tmp mv -f $@.tmp $@ -release: mkws.js mkws-complete.js mkws.min.js mkws-complete.min.js - @if [ -f releases/mkws-$(VERSION).js ]; then \ +$(DEST)/NEWS: NEWS + rm -f $@ + cp $? $@ + chmod 444 $@ + +$(DEST)/VERSION: VERSION + rm -f $@ + cp $? $@ + chmod 444 $@ + +release: $(INSTALLED_RELEASABLE) + if [ -f ${DEST}/releases/mkws-$(VERSION).js ]; then \ echo "*** There is already a release $(VERSION)"; \ else \ - cp -p mkws.js releases/mkws-$(VERSION).js; \ - cp -p mkws.min.js releases/mkws-$(VERSION).min.js; \ - cp -p mkws-complete.js releases/mkws-complete-$(VERSION).js; \ - cp -p mkws-complete.min.js releases/mkws-complete-$(VERSION).min.js; \ + cp -p $(DEST)/mkws.js ${DEST}/releases/mkws-$(VERSION).js; \ + cp -p $(DEST)/mkws.min.js ${DEST}/releases/mkws-$(VERSION).min.js; \ + cp -p $(DEST)/mkws-complete.js ${DEST}/releases/mkws-complete-$(VERSION).js; \ + cp -p $(DEST)/mkws-complete.min.js ${DEST}/releases/mkws-complete-$(VERSION).min.js; \ + cp -p $(DEST)/mkws.css ${DEST}/releases/mkws-$(VERSION).css; \ echo "Made release $(VERSION)"; \ fi -distclean: clean - rm -f *.orig *.bak *.rej +$(DEST)/mkws.js: $(COMPONENTS) Makefile + cat ${COMPONENTS} > $@.tmp + mv -f $@.tmp $@ + chmod 444 $@ + +mkws-templates.js: templates/*.handlebars + ${HANDLEBARS} -n mkws.defaultTemplates templates/*.handlebars -f $@.tmp + mv -f $@.tmp $@ + +# Checks that the JavaScript can be parsed +syntax-check: $(DEST)/mkws.js + ${UGLIFYJS} $(DEST)/mkws.js >/dev/null + +# Emits a list of \n}' -clean: - rm -f ${JQUERY_FILE} ${JQUERY_JSON_FILE} ${HANDLEBARS_FILE} ${PP2_FILE} ${PP2_FILE} - rm -f mkws.min.js mkws-complete.js mkws-complete.min.js +clean distclean: + rm -f ${INSTALLED} mkws-templates.js help: - @echo "make [ help | clean | mkws-js ]" - @echo "make JQUERY_URL=http://code.jquery.com/jquery-2.0.3.min.js clean mkws-js" + @echo "make [ all | clean | release ]" + @echo " [ syntax-check | html-includes ]" + @echo " [ mkws-templates.js | $(DEST)/mkws-complete.min.js ]" + @echo ""