#!/usr/bin/make -f include ../source.mk tables = \ africa \ antarctica \ asia \ australasia \ europe \ northamerica \ southamerica \ etcetera \ factory nop: @: build: for t in $(tables); do \ /usr/sbin/zic -d tzdata-$${t}.data/usr/share/zoneinfo \ -L /dev/null -y yearistype.sh \ src/$${t} || exit $?; \ done touch $@ install: build # Install tzdata-common files. mkdir -p tzdata-common.data/usr/share/zoneinfo/Etc mv tzdata-etcetera.data/usr/share/zoneinfo/Etc/UTC \ tzdata-common.data/usr/share/zoneinfo/Etc cp src/iso3166.tab src/zone.tab tzdata-common.data/usr/share/zoneinfo ln -sf Universal tzdata-common.data/usr/share/zoneinfo/posixrules mkdir -p tzdata-common.data/etc ln -sf /usr/share/zoneinfo/Universal tzdata-common.data/etc/localtime ln -sf . tzdata-common.data/usr/share/zoneinfo/posix # Install time zones. for tt in $(tables); do \ grep '^Link' src/$${tt} | while read type dest src etc; do \ if [ x"$${dest}" = x'Etc/UTC' ]; then \ t='common'; \ else \ t="$${tt}"; \ fi; \ rm -f "tzdata-$${t}.data/usr/share/zoneinfo/$${src}"; \ link="$${src}" up=''; \ while [ "$${link#*/}" != "$${link}" ] && \ [ "$${link%%/*}" = "$${dest%%/*}" ]; do \ link="$${link#*/}"; \ dest="$${dest#*/}"; \ done; \ while [ "$${link#*/}" != "$${link}" ]; do \ link="$${link#*/}"; \ up="../$${up}"; \ done; \ src="tzdata-$${t}.data/usr/share/zoneinfo/$${src}"; \ ln -sf "$${up}$${dest}" "$${src}"; \ done; \ done # Install links listed in the "backward" table into the relevant time # zone data package. grep '^Link' src/backward | while read type dest src etc; do \ if [ x"$${dest}" = x'Etc/UTC' ]; then \ t='common'; \ else \ t="$$(cd src && grep -l \ "^Zone[ ][ ]*$${dest}[ ].*$$" \ $(tables))"; \ fi; \ link="$${src}" up=''; \ while [ "$${link#*/}" != "$${link}" ] && \ [ "$${link%%/*}" = "$${dest%%/*}" ]; do \ link="$${link#*/}"; \ dest="$${dest#*/}"; \ done; \ while [ "$${link#*/}" != "$${link}" ]; do \ link="$${link#*/}"; \ up="../$${up}"; \ done; \ src="tzdata-$${t}.data/usr/share/zoneinfo/$${src}"; \ mkdir -p "$${src%/*}"; \ ln -sf "$${up}$${dest}" "$${src}"; \ done