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