tz.mk 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ################################################################################
  2. #
  3. # tz
  4. #
  5. ################################################################################
  6. TZ_DEPENDENCIES = host-tzdata host-tzdump
  7. TZ_LICENSE = Public domain
  8. TZ_LOCALTIME = $(call qstrip,$(BR2_TARGET_LOCALTIME))
  9. ifneq ($(TZ_LOCALTIME),)
  10. define TZ_SET_LOCALTIME
  11. if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/uclibc/$(TZ_LOCALTIME) ]; then \
  12. printf "Error: '%s' is not a valid timezone, check your BR2_TARGET_LOCALTIME setting\n" \
  13. "$(TZ_LOCALTIME)"; \
  14. exit 1; \
  15. fi
  16. ln -sf ../usr/share/zoneinfo/uclibc/$(TZ_LOCALTIME) $(TARGET_DIR)/etc/TZ
  17. endef
  18. endif
  19. define TZ_BUILD_CMDS
  20. (cd $(HOST_DIR)/share/zoneinfo/posix/; \
  21. for i in $$(find . -type f); do \
  22. mkdir -p $(@D)/output/$$(dirname $$i); \
  23. $(TZDUMP) -p . -q $${i#./} | sed '1d' > $(@D)/output/$$i; \
  24. done \
  25. )
  26. endef
  27. define TZ_INSTALL_TARGET_CMDS
  28. $(INSTALL) -D -m 0644 $(HOST_DIR)/share/zoneinfo/zone.tab \
  29. $(TARGET_DIR)/usr/share/zoneinfo/zone.tab
  30. $(INSTALL) -D -m 0644 $(HOST_DIR)/share/zoneinfo/iso3166.tab \
  31. $(TARGET_DIR)/usr/share/zoneinfo/iso3166.tab
  32. mkdir -p $(TARGET_DIR)/usr/share/zoneinfo/uclibc
  33. cp -a $(@D)/output/* $(TARGET_DIR)/usr/share/zoneinfo/uclibc
  34. $(TZ_SET_LOCALTIME)
  35. endef
  36. $(eval $(generic-package))