12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- # 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
- _PROJ_ROOT := $(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
|