1149211Spjd# $NetBSD: Makefile,v 1.5 2024/06/02 00:21:12 kre Exp $ 2181477Spjd 3149211Spjd.include <bsd.own.mk> 4149211Spjd.include "../../Makefile.inc" 5149211Spjd 6149211Spjd.PATH: ${TZDISTDIR} 7149211Spjd 8149211Spjd# If you want something other than Eastern United States time as a template 9149211Spjd# for handling POSIX-style time zone environment variables, 10149211Spjd# change the line below (after finding the zone you want in the 11149211Spjd# time zone files, or adding it to a time zone file). 12149211Spjd# (When a POSIX-style environment variable is handled, the rules in the 13160674Spjd# template file are used to determine "spring forward" and "fall back" days and 14149211Spjd# times; the environment variable itself specifies UT offsets of standard and 15149211Spjd# summer time.) 16149211Spjd# Alternately, if you discover you've got the wrong time zone, you can just 17149211Spjd# zic -p rightzone 18149211Spjd# to correct things. 19149211Spjd# Use the command 20149211Spjd# make zonenames 21149211Spjd# to get a list of the values you can use for POSIXRULES. 22149211Spjd# If you want POSIX compatibility, use "America/New_York". 23149211Spjd 24149211SpjdPOSIXRULES= America/New_York 25149211Spjd 26149211Spjd# "Compiled" time zone information is placed in the "TZDIR" directory 27149211Spjd# (and subdirectories). 28149211Spjd# Use an absolute path name for TZDIR unless you're just testing the software. 29149211Spjd# Note: ${DESTDIR} is prepended to this for the actual copy. 30149211Spjd 31149211SpjdTZDIR= /usr/share/zoneinfo 32149211Spjd 33149211Spjd# If you always want time values interpreted as "seconds since the epoch 34149211Spjd# (not counting leap seconds)", use 35180626Spjd# REDO= posix_only 36149211Spjd# below. If you always want right time values interpreted as "seconds since 37149211Spjd# the epoch" (counting leap seconds)", use 38187112Sjkim# REDO= right_only 39149211Spjd# below. If you want both sets of data available, with leap seconds not 40149211Spjd# counted normally, use 41160325Smr# REDO= posix_right 42160325Smr# below. If you want both sets of data available, with leap seconds counted 43149211Spjd# normally, use 44149211Spjd# REDO= right_posix 45149211Spjd# below. 46149211Spjd 47160582SpjdREDO= posix_only 48149211Spjd 49167755SsamPRIMARY_YDATA= africa antarctica asia australasia \ 50167755Ssam europe northamerica southamerica 51167755SsamYDATA= $(PRIMARY_YDATA) etcetera backward 52167755SsamNDATA= factory 53160582SpjdTDATA= $(YDATA) $(NDATA) 54160582SpjdZONETABLES= zone1970.tab zone.tab 55160582SpjdTABDATA= iso3166.tab leapseconds leap-seconds.list $(ZONETABLES) 56160582SpjdDATA= $(YDATA) $(NDATA) $(TABDATA) 57160582Spjd 58149211SpjdTZBUILDDIR= ${.OBJDIR}/builddir 59149211Spjd 60149211Spjd.PHONY: posix_only 61149211Spjdposix_only: ${TDATA} 62181473Spjd ${_MKTARGET_CREATE} 63180626Spjd mkdir -p ${TZBUILDDIR} 64149211Spjd cd ${TZDISTDIR} && \ 65149211Spjd ${TOOL_ZIC} -d ${TZBUILDDIR} -L /dev/null ${TDATA} 66167755Ssam 67167755Ssam.PHONY: right_only 68181477Spjdright_only: leapseconds ${TDATA} 69181477Spjd ${_MKTARGET_CREATE} 70167755Ssam mkdir -p ${TZBUILDDIR} 71149211Spjd cd ${TZDISTDIR} && \ 72160582Spjd ${TOOL_ZIC} -d ${TZBUILDDIR} -L leapseconds ${TDATA} 73149211Spjd 74167755Ssam.PHONY: other_two 75188171Simpother_two: leapseconds ${TDATA} 76167755Ssam ${_MKTARGET_CREATE} 77167755Ssam mkdir -p ${TZBUILDDIR} 78167755Ssam cd ${TZDISTDIR} && \ 79167755Ssam ${TOOL_ZIC} -d ${TZBUILDDIR}/posix -L /dev/null ${TDATA} 80167755Ssam cd ${TZDISTDIR} && \ 81167755Ssam ${TOOL_ZIC} -d ${TZBUILDDIR}/right -L leapseconds ${TDATA} 82167755Ssam 83149211Spjd.PHONY: posix_right 84167755Ssamposix_right: posix_only other_two 85149211Spjd 86160582Spjd.PHONY: right_posix 87160582Spjdright_posix: right_only other_two 88187112Sjkim 89160582Spjd.if ${MKUNPRIVED} == "no" 90160325SmrTOOL_PAX.unpriv=-pe 91167755Ssam.else 92149211SpjdTOOL_PAX.unpriv= 93160582Spjd.endif 94160582Spjd 95160582Spjd.if ${MKSHARE} != "no" 96160582Spjdafterinstall: ${DATA} ${REDO} ${TABDATA} 97160582Spjd ${_MKMSG_CREATE} ${POSIXRULES} 98160582Spjd mkdir -p ${TZBUILDDIR} 99160582Spjd cd ${TZDISTDIR} && \ 100160582Spjd ${TOOL_ZIC} -d ${TZBUILDDIR} -p ${POSIXRULES} 101160582Spjd cd ${TZBUILDDIR} && \ 102160582Spjd find . -type f -print | xargs ${TOOL_STAT} -qf '%d,%i %N' | sort \ 103160582Spjd | while read devino tzfile; do \ 104160582Spjd destfile=${DESTDIR}${TZDIR}/$${tzfile#./}; \ 105160582Spjd destdir=$$(dirname $${destfile}); \ 106160582Spjd if [ ! -d "$$destdir" ]; then \ 107160582Spjd ${_MKSHMSG_INSTALL} $$destdir; \ 108160582Spjd ${_MKSHECHO} ${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} \ 109160582Spjd $$destdir; \ 110167755Ssam ${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} $$destdir; \ 111167755Ssam fi; \ 112149211Spjd if [ "$$devino" = "$$lastdevino" ]; then \ 113149211Spjd if ldevino=$$(${TOOL_STAT} -qf '%d %i' $$lastfile) && \ 114149211Spjd tdevino=$$(${TOOL_STAT} -qf '%d %i' $$destfile) && \ 115167755Ssam [ "$$ldevino" = "$$tdevino" ]; then \ 116149211Spjd continue; \ 117167755Ssam fi; \ 118167755Ssam ${_MKSHMSG_INSTALL} $$destfile; \ 119167755Ssam ${_MKSHECHO} ${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP} \ 120167755Ssam -m ${NONBINMODE} $$lastfile $$destfile; \ 121167755Ssam ${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP} \ 122149211Spjd -m ${NONBINMODE} $$lastfile $$destfile; \ 123149211Spjd else \ 124149211Spjd lastdevino=$$devino; \ 125167755Ssam lastfile=$$destfile; \ 126149211Spjd cmp -s $$tzfile $$destfile >/dev/null 2>&1 && continue;\ 127167755Ssam ${_MKSHMSG_INSTALL} $$destfile; \ 128149211Spjd ${_MKSHECHO} ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} \ 129160785Spjd -m ${NONBINMODE} $$tzfile $$destfile; \ 130149211Spjd ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} \ 131180626Spjd -m ${NONBINMODE} $$tzfile $$destfile; \ 132167755Ssam fi; \ 133167755Ssam done 134167755Ssam for f in ${TABDATA}; do \ 135167755Ssam ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE} \ 136167755Ssam ${TZDISTDIR}/$$f ${DESTDIR}${TZDIR}; \ 137167755Ssam done 138167755Ssam ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE} \ 139149211Spjd ${TZDISTDIR}/TZDATA_VERSION ${DESTDIR}${TZDIR}/TZDATA_VERSION 140149211Spjd.else # ${MKSHARE} == "no" 141149211Spjdafterinstall: 142149211Spjd.endif # ${MKSHARE} == "no" 143167755Ssam 144149211Spjdclean: 145167755Ssam -rm -rf ${TZBUILDDIR} 146149211Spjd 147149211Spjd.include <bsd.prog.mk> 148180626Spjd