MODULE := $(shell ls *.theme)
MODULE := $(subst .theme,,$(MODULE))

all: mo
	-rm -f $(MODULE).skz
	zip -X -r $(MODULE).skz * -x \*Makefile \*.po \*.*~ \*.pot rc.cpp \*.pyc \*.skz

mo:
	for PO in `find . -name "*.po"`; do msgfmt $$PO -o $${PO%*.*}.mo; done

messages: clean_messages rc.cpp
	xgettext --no-wrap -o $(MODULE).pot $(MODULE).py lwp_config.py
	xgettext -j -o $(MODULE).pot --keyword="liquid_weather" rc.cpp
	for PO in `find . -name "*.po"`; do msgmerge -U $$PO $(MODULE).pot; done
	for MO in `find . -name "LC_MESSAGES"`; do echo $$MO; cd $$MO; msgfmt liquid_weather.po -o liquid_weather.mo; cd ../../..; done

rc.cpp: theme_messages maindata_messages

clean_messages:
	-rm -f rc.cpp

theme_messages:
	echo -e "\
\nimport re \
\nfor i, line in enumerate(open('liquid_weather.theme')): \
\n  vf = re.findall(r'(?i)^(?:TEXT|RICHTEXT).*(?:value|format)=(?:\"(.*?)\"|(\S+))', line) \
\n  if(len(vf) > 0): \
\n    for s in [ x for x in vf[0] if x != '']: \
\n      print '// liquid_weather: file %s.theme line %d' % ('$(MODULE)', i+1) \
\n      print '// xgettext: no-c-format' \
\n      print 'liquid_weather(\"%s\");' % (s) \
" | python >> rc.cpp

maindata_messages:
	extractrc --tag=name --tag=description maindata.xml >> rc.cpp

clean:
	-rm -fr *.pot
	-rm -rf *.*~
	-rm -f rc.cpp
	-rm -f *.pyc
	-rm -f *.skz
