2006-12-29 05:38:40 +01:00
# List here all source files with translatable strings.
POTFILES = $( sort $( shell find ../IkiWiki -type f -name \* .pm) ) \
2008-08-22 04:49:50 +02:00
../ikiwiki.in ../IkiWiki.pm ../auto.setup
2006-12-29 05:38:40 +01:00
POFILES = $( wildcard *.po)
MOFILES = $( POFILES:.po= .mo)
2009-07-20 07:20:13 +02:00
all : ikiwiki .pot mo ../underlays /locale
2008-03-21 21:32:23 +01:00
mo : $( MOFILES )
2006-12-29 05:38:40 +01:00
install : all
for file in $( MOFILES) ; do \
lang = ` echo $$ file | sed 's/\.mo//' ` ; \
install -d $( DESTDIR) $( PREFIX) /share/locale/$$ lang/LC_MESSAGES/; \
install -m 0644 $$ file $( DESTDIR) $( PREFIX) /share/locale/$$ lang/LC_MESSAGES/ikiwiki.mo; \
done
ikiwiki.pot : $( POTFILES )
2007-02-20 05:10:31 +01:00
@if perl -e '($$ver)=`xgettext -V | head -n 1`=~/.*\s+([0-9]+\.[0-9]+)/; die "gettext $$ver too old, not updating the pot file\n" if $$ver < 0.16' ; then \
echo "Rebuilding the pot file" ; \
2008-08-27 21:16:02 +02:00
xgettext --from-code= UTF-8 $( POTFILES) -o ikiwiki.pot -Lperl --add-comments= translators; \
2007-02-20 05:10:31 +01:00
fi
2006-12-29 05:38:40 +01:00
clean :
2009-07-20 07:20:13 +02:00
rm -f $( MOFILES) messages messages.mo *_stamp
rm -rf html underlays/.ikiwiki ../underlays/locale
find underlays -name \* .mdwn | xargs rm -f
2006-12-29 05:38:40 +01:00
%.mo : %.po
msgfmt -o $@ $<
2008-09-05 18:37:29 +02:00
%.po : ikiwiki .pot
2006-12-29 05:38:40 +01:00
@echo -n " Merging ikiwiki.pot and $@ "
2007-01-03 21:01:36 +01:00
@msgmerge $@ ikiwiki.pot -o $@ .new 2>& 1
2007-02-21 00:13:49 +01:00
# Typically all that changes was a date or line number. I'd prefer not to
# commit such changes, so detect and ignore them.
@if [ " `diff $@ $@ .new | grep '[<>]' | grep -v '[<>] #:' | wc -l` " -ne 2 ] ; then \
2006-12-29 05:38:40 +01:00
mv -f $@ .new $@ ; \
else \
rm -f $@ .new; \
fi
2007-01-03 21:01:36 +01:00
@msgfmt --statistics $@ 2>& 1
2006-12-29 05:38:40 +01:00
check :
@for file in $( POFILES) ; do \
lang = ` echo $$ file | sed 's/\.po//' ` ; \
printf " $$ lang: " ; \
msgfmt -o /dev/null -c -v --statistics $$ lang.po; \
done
2009-07-20 07:20:13 +02:00
underlays_copy_stamp :
# copy all the files we want to translate into a srcdir
for file in ` cd ..; find underlays -follow -name \* .mdwn` ; do \
install -d $$ ( dirname $$ file) ; \
cp -aL ../$$ file $$ file 2>/dev/null || \
install -m 644 ../$$ file $$ file; \
done
install -d underlays/directives/ikiwiki/directive
for file in ` cd ..; find doc/ikiwiki/directive/ -maxdepth 1 -type f` ; do \
cp -a ../$$ file underlays/directives/ikiwiki/directive || \
install -m 644 ../$$ file underlays/directives/ikiwiki/directive; \
done
touch $@
underlays : underlays_copy_stamp
install -d underlays/empty
../ikiwiki.out -libdir .. -setup underlay.setup -refresh
../underlays/locale : po 2wiki_stamp
po2wiki_stamp : po 2wiki underlays_copy_stamp
PERL5LIB = .. ./po2wiki underlay.setup
touch $@
.PHONY : underlays