| # Generates glibc locale data for target. |
| |
| inputfile = $(firstword $(subst ., ,$(1))) |
| charmap = $(or $(word 2,$(subst ., ,$(1))),UTF-8) |
| |
| # Packages all the generated locale data into the final archive. |
| # |
| # We sort the file names to produce consistent output regardless of |
| # the `find` outputs order. |
| $(TARGET_DIR)/usr/lib/locale/locale-archive: $(LOCALES) |
| $(Q)rm -f $(@) |
| $(Q)find $(TARGET_DIR)/usr/lib/locale/ -maxdepth 1 -mindepth 1 -type d -print0 \ |
| | sort -z \ |
| | xargs -0 \ |
| $(HOST_DIR)/bin/localedef \ |
| --prefix=$(TARGET_DIR) \ |
| --$(ENDIAN)-endian \ |
| --add-to-archive |
| |
| # Generates locale data for each locale. |
| # |
| # The input data comes preferably from the toolchain, or if the toolchain |
| # does not have them (Linaro toolchains), we use the ones available on the |
| # host machine. |
| # |
| # Uses `localedef`, which is built by the `host-localedef` package. |
| $(LOCALES): | $(TARGET_DIR)/usr/lib/locale/ |
| $(Q)echo "Generating locale $(@)" |
| $(Q)I18NPATH=$(STAGING_DIR)/usr/share/i18n:/usr/share/i18n \ |
| $(HOST_DIR)/bin/localedef \ |
| --prefix=$(TARGET_DIR) \ |
| --$(ENDIAN)-endian \ |
| --no-archive \ |
| -i $(call inputfile,$(@)) \ |
| -f $(call charmap,$(@)) \ |
| $(@) |
| |
| .PHONY: $(LOCALES) |
| |
| $(TARGET_DIR)/usr/lib/locale/: |
| $(Q)mkdir -p $(TARGET_DIR)/usr/lib/locale/ |