diff options
Diffstat (limited to 'GNUmakefile')
| -rw-r--r-- | GNUmakefile | 65 |
1 files changed, 52 insertions, 13 deletions
diff --git a/GNUmakefile b/GNUmakefile index e3aa32b..e9b2eae 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,32 +1,71 @@ +GO := go +PORT := 8080 + cssfiles := $(shell find static -name '*.css' -not -name '*.min.css') cssfiles := $(cssfiles:.css=.min.css) gofiles := $(shell find main.go src -name '*.go') +sqlfiles := $(shell find src/dbx/sql -name '*.sql') templates := $(shell find src/templates -name '*.tmpl') -exttmpl := $(wildcard cmd/exttmpl/*.go) +extpo := $(wildcard cmd/extpo/*.go) +extwiki := $(wildcard cmd/extwiki/*.go) + +ENABLED_LANGUAGES := $(shell ./aux/enabled-languages) + +all: euro-cash.eu extpo -all: euro-cash.eu exttmpl +euro-cash.eu: $(cssfiles) $(templates) $(gofiles) $(sqlfiles) + $(GO) build -euro-cash.eu: $(cssfiles) $(templates) $(gofiles) - go build +extract: extpo extwiki + find . -name '*.go' -exec xgotext --foreign-user -o po/backend.pot {} + + find . -name '*.html.tmpl' -exec ./extwiki {} + \ + | gofmt >src/wikipedia/links.gen.go + find . \( -name '*.html.tmpl' -or -name '*.sql' \) -exec ./extpo {} + \ + | msgcat po/backend.pot - -o po/messages.pot + for bcp in $(ENABLED_LANGUAGES); \ + do \ + dir="po/$$bcp"; \ + if [ ! -d "$$dir" ]; \ + then \ + mkdir -p "$$dir"; \ + msginit -i po/messages.pot -o "$$dir/messages.po" -l$$bcp.UTF-8 \ + --no-translator; \ + fi; \ + msgmerge -UN "po/$$bcp/messages.po" po/messages.pot; \ + done + find po -name '*~' -delete -all-i18n: exttmpl - go generate ./src - find . -name out.gotext.json | mcp -b sed s/out/messages/ - go build +po: + for po in po/*/*.po; \ + do \ + msgfmt "$$po" -o "$${po%.*}.mo"; \ + done -exttmpl: $(exttmpl) - go build ./cmd/exttmpl +extpo: $(extpo) + $(GO) build ./cmd/extpo + +extwiki: $(extwiki) + $(GO) build ./cmd/extwiki %.min.css: %.css - lightningcss -m $< -o $@ + if command -v lightningcss >/dev/null; \ + then \ + lightningcss -m $< -o $@; \ + else \ + cp $< $@; \ + fi clean: find . -type f \( \ -name euro-cash.eu \ - -or -name exttmpl \ + -or -name extpo \ + -or -name extwiki \ -or -name '*.min.css' \ -or -name '*.tar.gz' \ \) -delete -.PHONY: all-i18n clean release +debug: + ./euro-cash.eu -debug -no-email -db-name :memory: -port $(PORT) + +.PHONY: clean debug extract po release |