Mercurial > gemma
annotate client/Makefile @ 5429:02a5da2f03b4 marking-single-beam
Fixed clipping.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 11 Jul 2021 15:07:18 +0200 |
parents | bd4370badbf7 |
children |
rev | line source |
---|---|
1792
2c71012fee5e
correct Makefile attribution header
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1715
diff
changeset
|
1 # This is free software under MIT license taken from: |
2c71012fee5e
correct Makefile attribution header
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1715
diff
changeset
|
2 # https://github.com/Polyconseil/vue-gettext/blob/master/Makefile |
1367
5d4bfe4fa13c
client: improve header infos (minor)
Bernhard Reiter <bernhard@intevation.de>
parents:
1361
diff
changeset
|
3 # |
1792
2c71012fee5e
correct Makefile attribution header
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1715
diff
changeset
|
4 # following changes were made due to requirments: |
2c71012fee5e
correct Makefile attribution header
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1715
diff
changeset
|
5 # * Add additional locales for the app |
2c71012fee5e
correct Makefile attribution header
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1715
diff
changeset
|
6 # * Add ability to run the translations Makefile with several users on a multi-user system |
2c71012fee5e
correct Makefile attribution header
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1715
diff
changeset
|
7 # * prevent clean from being called accidently if ´make´ is executed without parameters |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
459
diff
changeset
|
8 |
141 | 9 # On OSX the PATH variable isn't exported unless "SHELL" is also set, see: http://stackoverflow.com/a/25506676 |
10 SHELL = /bin/bash | |
11 NODE_BINDIR = ./node_modules/.bin | |
12 export PATH := $(NODE_BINDIR):$(PATH) | |
1715
dd9d90cae683
client: improve translation process
Bernhard Reiter <bernhard@intevation.de>
parents:
1506
diff
changeset
|
13 LOGNAME := $(shell logname) |
dd9d90cae683
client: improve translation process
Bernhard Reiter <bernhard@intevation.de>
parents:
1506
diff
changeset
|
14 |
dd9d90cae683
client: improve translation process
Bernhard Reiter <bernhard@intevation.de>
parents:
1506
diff
changeset
|
15 # adding the name of the user's login name to the template file, so that |
dd9d90cae683
client: improve translation process
Bernhard Reiter <bernhard@intevation.de>
parents:
1506
diff
changeset
|
16 # on a multi-user system several users can run this without interference |
dd9d90cae683
client: improve translation process
Bernhard Reiter <bernhard@intevation.de>
parents:
1506
diff
changeset
|
17 TEMPLATE_POT := /tmp/template-$(LOGNAME).pot |
141 | 18 |
19 # Where to write the files generated by this makefile. | |
20 OUTPUT_DIR = src | |
21 | |
22 # Available locales for the app. | |
1506
bf32ef5dfb04
Translation: add aditional languages for translation
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1456
diff
changeset
|
23 LOCALES = de_AT en_GB sk_SK hu_HU hr_HR bg_BG ro_RO |
141 | 24 |
25 # Name of the generated .po files for each available locale. | |
26 LOCALE_FILES ?= $(patsubst %,$(OUTPUT_DIR)/locale/%/LC_MESSAGES/app.po,$(LOCALES)) | |
27 | |
2013
a1164d2e23e1
client: translations: get improvments on Makefile from upstream
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1850
diff
changeset
|
28 GETTEXT_SOURCES ?= $(shell find $(OUTPUT_DIR) -name '*.html' -o -name '*.js' -o -name '*.vue' 2> /dev/null) |
141 | 29 |
30 # Makefile Targets | |
459
bba166f0326e
client: make Makefile more robust.
Bernhard Reiter <bernhard@intevation.de>
parents:
159
diff
changeset
|
31 .PHONY: clean makemessages translations all |
bba166f0326e
client: make Makefile more robust.
Bernhard Reiter <bernhard@intevation.de>
parents:
159
diff
changeset
|
32 |
bba166f0326e
client: make Makefile more robust.
Bernhard Reiter <bernhard@intevation.de>
parents:
159
diff
changeset
|
33 all: |
bba166f0326e
client: make Makefile more robust.
Bernhard Reiter <bernhard@intevation.de>
parents:
159
diff
changeset
|
34 @echo choose a target from: clean makemessages translations |
141 | 35 |
36 clean: | |
1715
dd9d90cae683
client: improve translation process
Bernhard Reiter <bernhard@intevation.de>
parents:
1506
diff
changeset
|
37 rm -f $(TEMPLATE_POT) $(OUTPUT_DIR)/locale/translations.json |
141 | 38 |
1715
dd9d90cae683
client: improve translation process
Bernhard Reiter <bernhard@intevation.de>
parents:
1506
diff
changeset
|
39 makemessages: $(TEMPLATE_POT) |
141 | 40 |
1850
6840401ec6a6
client: translations: (minor) improve Makefile
Bernhard Reiter <bernhard@intevation.de>
parents:
1849
diff
changeset
|
41 translations: $(OUTPUT_DIR)/locale/translations.json |
141 | 42 |
43 # Create a main .pot template, then generate .po files for each available language. | |
44 # Thanx to Systematic: https://github.com/Polyconseil/systematic/blob/866d5a/mk/main.mk#L167-L183 | |
2013
a1164d2e23e1
client: translations: get improvments on Makefile from upstream
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1850
diff
changeset
|
45 $(TEMPLATE_POT): $(GETTEXT_SOURCES) |
141 | 46 # `dir` is a Makefile built-in expansion function which extracts the directory-part of `$@`. |
47 # `$@` is a Makefile automatic variable: the file name of the target of the rule. | |
48 # => `mkdir -p /tmp/` | |
49 mkdir -p $(dir $@) | |
50 # Extract gettext strings from templates files and create a POT dictionary template. | |
2013
a1164d2e23e1
client: translations: get improvments on Makefile from upstream
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1850
diff
changeset
|
51 gettext-extract --quiet --attribute v-translate --output $@ $(GETTEXT_SOURCES) |
141 | 52 # Generate .po files for each available language. |
53 @for lang in $(LOCALES); do \ | |
54 export PO_FILE=$(OUTPUT_DIR)/locale/$$lang/LC_MESSAGES/app.po; \ | |
55 mkdir -p $$(dirname $$PO_FILE); \ | |
2121
bd4370badbf7
Improve Makefile target `makemessages`
Bernhard Reiter <bernhard@intevation.de>
parents:
2013
diff
changeset
|
56 if [ -f $$PO_FILE ]; then \ |
bd4370badbf7
Improve Makefile target `makemessages`
Bernhard Reiter <bernhard@intevation.de>
parents:
2013
diff
changeset
|
57 echo "msgmerge --update $$PO_FILE $@"; \ |
bd4370badbf7
Improve Makefile target `makemessages`
Bernhard Reiter <bernhard@intevation.de>
parents:
2013
diff
changeset
|
58 msgmerge --lang=$$lang --update $$PO_FILE $@ || break ;\ |
bd4370badbf7
Improve Makefile target `makemessages`
Bernhard Reiter <bernhard@intevation.de>
parents:
2013
diff
changeset
|
59 else \ |
bd4370badbf7
Improve Makefile target `makemessages`
Bernhard Reiter <bernhard@intevation.de>
parents:
2013
diff
changeset
|
60 msginit --no-translator --locale=$$lang --input=$@ --output-file=$$PO_FILE || break ; \ |
bd4370badbf7
Improve Makefile target `makemessages`
Bernhard Reiter <bernhard@intevation.de>
parents:
2013
diff
changeset
|
61 msgattrib --no-wrap --no-obsolete -o $$PO_FILE $$PO_FILE || break; \ |
bd4370badbf7
Improve Makefile target `makemessages`
Bernhard Reiter <bernhard@intevation.de>
parents:
2013
diff
changeset
|
62 fi; \ |
141 | 63 done; |
64 | |
1849
aabde3279947
client: translations: improve Makefile
Bernhard Reiter <bernhard@intevation.de>
parents:
1792
diff
changeset
|
65 $(OUTPUT_DIR)/locale/translations.json: $(LOCALE_FILES) |
141 | 66 mkdir -p $(OUTPUT_DIR) |
67 gettext-compile --output $@ $(LOCALE_FILES) |