davical/Makefile

60 lines
1.8 KiB
Makefile
Executable File

#!/usr/bin/make -f
#
package=davical
majorversion = $(shell sed -n 's:\([0-9\.]*\)[-a-f0-9-]*:\1:p' VERSION)
gitrev = 0
version = $(majorversion)
issnapshot = 0
snapshot : gitrev = $(shell git rev-parse --short HEAD)
snapshot : version = $(majorversion)-git$(gitrev)
snapshot : issnapshot = 1
nodocs: htdocs/always.php built-po
all: htdocs/always.php built-docs built-po
built-docs: docs/api/phpdoc.ini htdocs/*.php inc/*.php docs/translation.rst
phpdoc -c docs/api/phpdoc.ini || echo "NOTICE: Failed to build optional API docs"
rst2pdf docs/translation.rst || echo "NOTICE: Failed to build ReST docs"
touch built-docs
built-po: htdocs/always.php scripts/po/rebuild-translations.sh po/*.po
scripts/po/rebuild-translations.sh
touch built-po
#
# Insert the current version number into always.php
#
htdocs/always.php: scripts/build-always.sh VERSION dba/davical.sql inc/always.php.in
scripts/build-always.sh <inc/always.php.in >htdocs/always.php
#
# Build a release .tar.gz file in the directory above us
#
release: built-docs VERSION
-ln -s . $(package)-$(version)
sed 's:@@VERSION@@:$(majorversion):' davical.spec.in | \
sed 's:@@ISSNAPSHOT@@:$(issnapshot):' | \
sed 's:@@GITREV@@:$(gitrev):' > davical.spec
echo "git ls-files |grep -v '.git'|sed -e s:^:$(package)-$(version)/:"
tar czf ../$(package)-$(version).tar.gz \
--no-recursion --dereference $(package)-$(version) \
$(shell git ls-files |grep -v '.git'|sed -e s:^:$(package)-$(version)/:) \
$(shell find $(package)-$(version)/docs/api/ ! -name "phpdoc.ini" ) \
davical.spec
rm $(package)-$(version)
snapshot: release
clean:
rm -f built-docs built-po
-find . -name "*~" -delete
-rm docs/translation.pdf
-rm davical.spec
clean-all: clean
-find docs/api/* ! -name "phpdoc.ini" ! -name ".gitignore" -delete
.PHONY: all clean release