.PHONY: .locale-update build
.ONESHELL:

all: clean build

SHELL = bash

DOMAIN = libretime
ISSUE_TRACKER = https://github.com/libretime/libretime/issues
PO_FILE = $(DOMAIN).po
PO_FILES = $(wildcard */LC_MESSAGES/$(PO_FILE))
MO_FILES = $(PO_FILES:.po=.mo)

SRC = application build public

XGETTEXT_ARGS = --default-domain=$(DOMAIN) \
				--msgid-bugs-address=$(ISSUE_TRACKER) \
				--language=php \
				--from-code=UTF-8 \
				--no-wrap \
				--sort-by-file

MSGMERGE_ARGS = --no-fuzzy-matching \
				--update \
				--no-wrap \
				--sort-by-file

update:
	cd ..
	find $(SRC) -name "*.phtml" -o -name "*.php" -type f -print0 | xargs -0 xgettext $(XGETTEXT_ARGS)
	sed -i 's/CHARSET/UTF-8/g' $(PO_FILE)
	find ./locale -name $(PO_FILE) -exec msgmerge $(MSGMERGE_ARGS) "{}" $(PO_FILE) \;
	rm $(PO_FILE)

%.mo: %.po
	msgfmt $< -o $@

build: $(MO_FILES)

clean:
	@rm -f $(MO_FILES)