mirror of https://github.com/axmolengine/axmol.git
65 lines
1.5 KiB
Makefile
65 lines
1.5 KiB
Makefile
|
# 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
|