Newer
Older
PKG_VERSION = $(shell awk '/version/ { print $$3 }' extension/ext_emconf.php | sed "s/'//g")
NIGHTLY_DATE = $(shell date '+%Y%m%d')
RELEASE_DATE = $(shell date '+%Y%m%d%H%M')
GIT_REVISION_SHORT = $(shell git rev-parse --short HEAD || true)
GIT_REVISION_LONG = $(shell git rev-parse HEAD || true)
EXTENSION_CONTENT = Classes Configuration Documentation qfq Resources ext_emconf.php ext_localconf.php ext_tables.php ext_icon.png config.example.ini RELEASE.txt
maintainer-clean:
rm -f .bowerpackages .doc_plantuml .npmpackages .phpdocinstall .plantuml_install .support .support_plantuml
rm -rf doc support bower_components node_modules .python_virtualenv
archive: clean qfq.zip
qfq.zip:

Carsten Rose
committed
cd extension; zip -r ../$@ $(EXTENSION_CONTENT)
clean:
rm -f qfq_$(PKG_VERSION).zip
echo $(GIT_REVISION_LONG) > extension/revision.git
nightly: bootstrap git-revision t3sphinx
cd extension; zip -r ../qfq-$(NIGHTLY_DATE) $(EXTENSION_CONTENT) revision.git -x config.ini
snapshot: bootstrap git-revision t3sphinx
cd extension ; zip -r ../qfq-$(NIGHTLY_DATE)-$(GIT_REVISION_SHORT) $(EXTENSION_CONTENT) revision.git -x config.ini
release: bootstrap git-revision t3sphinx
if [ -z "$(VERSION)" ] ; then echo "Set VERSION make variable to the release version (fmt: maj.min.micro)" ; exit 1 ; fi
cd extension ; zip -r "../qfq.$(VERSION)_$(RELEASE_DATE).zip" $(EXTENSION_CONTENT) revision.git -x config.ini
t3sphinx: .virtual_env
. .python_virtualenv/bin/activate ; cd extension/Documentation/_make; make html
plantuml: uml/javascript/classdiagram.pu .support_plantuml
java -jar support/plantuml/plantuml.jar -tpng -o ../../doc/plantuml/javascript uml/javascript/classdiagram.pu
bootstrap: .phpdocinstall .npmpackages .bowerpackages .plantuml_install .virtual_env
npm install
bower install
grunt default
jsdoc: .npmpackages
$(JSDOC) -c JSDocConf.json
phpdoc: .phpdocinstall
$(PHPDOC)
if [ ! -f "`pwd`/support/pear.config" ]; then \
pear config-create "`pwd`/support" "`pwd`/support/pear.config" ; \
pear -c "`pwd`/support/pear.config" channel-discover pear.phpdoc.org ; \
fi
pear -c "`pwd`/support/pear.config" install phpdoc/phpDocumentor
touch $@
.plantuml_install: .doc_plantuml .support_plantuml
wget --no-check-certificate -O support/plantuml/plantuml.jar 'https://downloads.sourceforge.net/project/plantuml/plantuml.jar'
.npmpackages: package.json
npm ls -g grunt-cli 2>/dev/null || { echo "Please install grunt-cli npm package using 'npm install -g grunt-cli'" 1>&2 ; exit 1; }
npm ls -g jsdoc 2>/dev/null || { echo "Please install jsdoc npm package using 'npm install -g jsdoc'" 1>&2 ; exit 1; }
npm ls -g bower 2>/dev/null || { echo "Please install bower npm package using 'npm install -g bower'" 1>&2 ; exit 1; }
npm install
touch $@
.bowerpackages: bower.json
bower --silent install
touch $@
.support_plantuml: .support
mkdir -p support/plantuml
touch $@
.doc_plantuml:
mkdir -p doc/plantuml/javascript
mkdir -p doc/plantuml/php
touch $@
.virtual_env:
virtualenv .python_virtualenv
. .python_virtualenv/bin/activate ; pip install --upgrade sphinx==1.5.5
touch $@
.PHONY: nightly maintainer-clean snapshot release revision.git