1# $NetBSD: Makefile,v 1.2 2014/08/08 09:17:03 apb Exp $ 2 3.include <bsd.own.mk> 4.include "../../Makefile.inc" 5 6.PATH: ${TZDISTDIR} 7 8# If you want something other than Eastern United States time as a template 9# for handling POSIX-style time zone environment variables, 10# change the line below (after finding the zone you want in the 11# time zone files, or adding it to a time zone file). 12# (When a POSIX-style environment variable is handled, the rules in the 13# template file are used to determine "spring forward" and "fall back" days and 14# times; the environment variable itself specifies UT offsets of standard and 15# summer time.) 16# Alternately, if you discover you've got the wrong time zone, you can just 17# zic -p rightzone 18# to correct things. 19# Use the command 20# make zonenames 21# to get a list of the values you can use for POSIXRULES. 22# If you want POSIX compatibility, use "America/New_York". 23 24POSIXRULES= America/New_York 25 26# "Compiled" time zone information is placed in the "TZDIR" directory 27# (and subdirectories). 28# Use an absolute path name for TZDIR unless you're just testing the software. 29# Note: ${DESTDIR} is prepended to this for the actual copy. 30 31TZDIR= /usr/share/zoneinfo 32 33# If you always want time values interpreted as "seconds since the epoch 34# (not counting leap seconds)", use 35# REDO= posix_only 36# below. If you always want right time values interpreted as "seconds since 37# the epoch" (counting leap seconds)", use 38# REDO= right_only 39# below. If you want both sets of data available, with leap seconds not 40# counted normally, use 41# REDO= posix_right 42# below. If you want both sets of data available, with leap seconds counted 43# normally, use 44# REDO= right_posix 45# below. 46 47REDO= posix_only 48 49# Since "." may not be in PATH... 50YEARISTYPE= "${HOST_SH} ${TZDISTDIR}/yearistype.sh" 51 52PRIMARY_YDATA= africa antarctica asia australasia \ 53 europe northamerica southamerica 54YDATA= $(PRIMARY_YDATA) pacificnew etcetera backward 55NDATA= systemv factory 56TDATA= $(YDATA) $(NDATA) 57ZONETABLES= zone1970.tab zone.tab 58TABDATA= iso3166.tab leapseconds $(ZONETABLES) 59DATA= $(YDATA) $(NDATA) $(TABDATA) # yearistype.sh 60 61TZBUILDDIR= ${.OBJDIR}/builddir 62 63.PHONY: posix_only 64posix_only: ${TDATA} 65 ${_MKTARGET_CREATE} 66 mkdir -p ${TZBUILDDIR} 67 cd ${TZDISTDIR} && \ 68 ${TOOL_ZIC} -y ${YEARISTYPE} -d ${TZBUILDDIR} -L /dev/null ${TDATA} 69 70.PHONY: right_only 71right_only: leapseconds ${TDATA} 72 ${_MKTARGET_CREATE} 73 mkdir -p ${TZBUILDDIR} 74 cd ${TZDISTDIR} && \ 75 ${TOOL_ZIC} -y ${YEARISTYPE} -d ${TZBUILDDIR} -L leapseconds ${TDATA} 76 77.PHONY: other_two 78other_two: leapseconds ${TDATA} 79 ${_MKTARGET_CREATE} 80 mkdir -p ${TZBUILDDIR} 81 cd ${TZDISTDIR} && \ 82 ${TOOL_ZIC} -y ${YEARISTYPE} -d ${TZBUILDDIR}/posix -L /dev/null ${TDATA} 83 cd ${TZDISTDIR} && \ 84 ${TOOL_ZIC} -y ${YEARISTYPE} -d ${TZBUILDDIR}/right -L leapseconds ${TDATA} 85 86.PHONY: posix_right 87posix_right: posix_only other_two 88 89.PHONY: right_posix 90right_posix: right_only other_two 91 92.if ${MKUNPRIVED} == "no" 93TOOL_PAX.unpriv=-pe 94.else 95TOOL_PAX.unpriv= 96.endif 97 98.if ${MKSHARE} != "no" 99afterinstall: ${DATA} ${REDO} ${TABDATA} 100 ${_MKMSG_CREATE} ${POSIXRULES} 101 mkdir -p ${TZBUILDDIR} 102 cd ${TZDISTDIR} && \ 103 ${TOOL_ZIC} -y ${YEARISTYPE} -d ${TZBUILDDIR} -p ${POSIXRULES} 104 cd ${TZBUILDDIR} && \ 105 find . -type f -print | xargs ${TOOL_STAT} -qf '%d,%i %N' | sort \ 106 | while read devino tzfile; do \ 107 destfile=${DESTDIR}${TZDIR}/$${tzfile#./}; \ 108 destdir=$$(dirname $${destfile}); \ 109 if [ ! -d "$$destdir" ]; then \ 110 ${_MKSHMSG_INSTALL} $$destdir; \ 111 ${_MKSHECHO} ${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} \ 112 $$destdir; \ 113 ${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} $$destdir; \ 114 fi; \ 115 if [ "$$devino" = "$$lastdevino" ]; then \ 116 if ldevino=$$(${TOOL_STAT} -qf '%d %i' $$lastfile) && \ 117 tdevino=$$(${TOOL_STAT} -qf '%d %i' $$destfile) && \ 118 [ "$$ldevino" = "$$tdevino" ]; then \ 119 continue; \ 120 fi; \ 121 ${_MKSHMSG_INSTALL} $$destfile; \ 122 ${_MKSHECHO} ${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP} \ 123 -m ${NONBINMODE} $$lastfile $$destfile; \ 124 ${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP} \ 125 -m ${NONBINMODE} $$lastfile $$destfile; \ 126 else \ 127 lastdevino=$$devino; \ 128 lastfile=$$destfile; \ 129 cmp -s $$tzfile $$destfile >/dev/null 2>&1 && continue;\ 130 ${_MKSHMSG_INSTALL} $$destfile; \ 131 ${_MKSHECHO} ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} \ 132 -m ${NONBINMODE} $$tzfile $$destfile; \ 133 ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} \ 134 -m ${NONBINMODE} $$tzfile $$destfile; \ 135 fi; \ 136 done 137 for f in ${TABDATA}; do \ 138 ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE} \ 139 ${TZDISTDIR}/$$f ${DESTDIR}${TZDIR}; \ 140 done 141.else # ${MKSHARE} == "no" 142afterinstall: 143.endif # ${MKSHARE} == "no" 144 145clean: 146 -rm -rf ${TZBUILDDIR} 147 148.include <bsd.prog.mk> 149