summaryrefslogtreecommitdiff
path: root/alarm-app/Build/build_po.mk
blob: d88d71aa611b6a388665a31ef44a7f57aefd1bd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# PO build script


_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))


# parameter :
#  $(1) - C/C++ soruce file
#  $(2) - output path
#  $(3) - app name
CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))


# parameter :
#  $(1) - encoded one C/C++ soruce file
#  $(2) - output path
#  $(3) - app name
# output :
#  $(4) - output files list
define MO_BUILD_PROC_RAW
$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
	@echo '  Building file: $$<'
	@echo '  Invoking: msgfmt String Formatter'
	$$(call MAKEDIRS,$$(@D))
	$$(MSGFMT) -o "$$@" "$$<"
	@echo '  Finished building: $$<'
$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
endef

 
# parameter :
#  $(1) - output dir
#  $(2) - src paths
#  $(3) - app name
# output :
#  $(4) - OBJS 

define MO_PROC_RAW

_OUTPUT_DIR := $(1)
_SRCS := $(2)
_APPNAME := $(3)

ifneq ($$(strip $$(_SRCS)),)

_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 

_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))

_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))

ifneq ($$(strip $$(_ALL_SRCS)),)

_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 

$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))

endif  # (_(strip _(_ALL_SRCS)),)

endif  # (_(strip _(_SRCS)),)

endef