Home | History | Annotate | Line # | Download | only in zoneinfo
      1 #	$NetBSD: Makefile,v 1.5 2024/06/02 00:21:12 kre 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 
     24 POSIXRULES=	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 
     31 TZDIR=	/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 
     47 REDO=		posix_only
     48 
     49 PRIMARY_YDATA=	africa antarctica asia australasia \
     50 		europe northamerica southamerica
     51 YDATA=		$(PRIMARY_YDATA) etcetera backward
     52 NDATA=		factory
     53 TDATA=		$(YDATA) $(NDATA)
     54 ZONETABLES=	zone1970.tab zone.tab
     55 TABDATA=	iso3166.tab leapseconds leap-seconds.list $(ZONETABLES)
     56 DATA=		$(YDATA) $(NDATA) $(TABDATA)
     57 
     58 TZBUILDDIR=	${.OBJDIR}/builddir
     59 
     60 .PHONY:	posix_only
     61 posix_only: ${TDATA}
     62 	${_MKTARGET_CREATE}
     63 	mkdir -p ${TZBUILDDIR}
     64 	cd ${TZDISTDIR} && \
     65 	    ${TOOL_ZIC} -d ${TZBUILDDIR} -L /dev/null ${TDATA}
     66 
     67 .PHONY:	right_only
     68 right_only: leapseconds ${TDATA}
     69 	${_MKTARGET_CREATE}
     70 	mkdir -p ${TZBUILDDIR}
     71 	cd ${TZDISTDIR} && \
     72 	    ${TOOL_ZIC} -d ${TZBUILDDIR} -L leapseconds ${TDATA}
     73 
     74 .PHONY:	other_two
     75 other_two: leapseconds ${TDATA}
     76 	${_MKTARGET_CREATE}
     77 	mkdir -p ${TZBUILDDIR}
     78 	cd ${TZDISTDIR} && \
     79 	    ${TOOL_ZIC} -d ${TZBUILDDIR}/posix -L /dev/null ${TDATA}
     80 	cd ${TZDISTDIR} && \
     81 	    ${TOOL_ZIC} -d ${TZBUILDDIR}/right -L leapseconds ${TDATA}
     82 
     83 .PHONY:	posix_right
     84 posix_right: posix_only other_two
     85 
     86 .PHONY:	right_posix
     87 right_posix: right_only other_two
     88 
     89 .if ${MKUNPRIVED} == "no"
     90 TOOL_PAX.unpriv=-pe
     91 .else
     92 TOOL_PAX.unpriv=
     93 .endif
     94 
     95 .if ${MKSHARE} != "no"
     96 afterinstall: ${DATA} ${REDO} ${TABDATA}
     97 	${_MKMSG_CREATE} ${POSIXRULES}
     98 	mkdir -p ${TZBUILDDIR}
     99 	cd ${TZDISTDIR} && \
    100 	    ${TOOL_ZIC} -d ${TZBUILDDIR} -p ${POSIXRULES}
    101 	cd ${TZBUILDDIR} && \
    102 	    find . -type f -print | xargs ${TOOL_STAT} -qf '%d,%i %N' | sort \
    103 	| while read devino tzfile; do \
    104 		destfile=${DESTDIR}${TZDIR}/$${tzfile#./}; \
    105 		destdir=$$(dirname $${destfile}); \
    106 		if [ ! -d "$$destdir" ]; then \
    107 			${_MKSHMSG_INSTALL} $$destdir; \
    108 			${_MKSHECHO} ${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} \
    109 			$$destdir; \
    110 			${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} $$destdir; \
    111 		fi; \
    112 		if [ "$$devino" = "$$lastdevino" ]; then \
    113 			if  ldevino=$$(${TOOL_STAT} -qf '%d %i' $$lastfile) && \
    114 			    tdevino=$$(${TOOL_STAT} -qf '%d %i' $$destfile) && \
    115 			    [ "$$ldevino" = "$$tdevino" ]; then \
    116 				continue; \
    117 			fi; \
    118 			${_MKSHMSG_INSTALL} $$destfile; \
    119 			${_MKSHECHO} ${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP} \
    120 			    -m ${NONBINMODE} $$lastfile $$destfile; \
    121 			${INSTALL_LINK} -o ${BINOWN} -g ${BINGRP} \
    122 			    -m ${NONBINMODE} $$lastfile $$destfile; \
    123 		else \
    124 			lastdevino=$$devino; \
    125 			lastfile=$$destfile; \
    126 			cmp -s $$tzfile $$destfile >/dev/null 2>&1 && continue;\
    127 			${_MKSHMSG_INSTALL} $$destfile; \
    128 			${_MKSHECHO} ${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} \
    129 			    -m ${NONBINMODE} $$tzfile $$destfile; \
    130 			${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} \
    131 			    -m ${NONBINMODE} $$tzfile $$destfile; \
    132 		fi; \
    133 	done
    134 	for f in ${TABDATA}; do \
    135 		${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE} \
    136 			${TZDISTDIR}/$$f ${DESTDIR}${TZDIR}; \
    137 	done
    138 	${INSTALL_FILE} -o ${BINOWN} -g ${BINGRP} -m ${NONBINMODE} \
    139 		${TZDISTDIR}/TZDATA_VERSION ${DESTDIR}${TZDIR}/TZDATA_VERSION
    140 .else	# ${MKSHARE} == "no"
    141 afterinstall:
    142 .endif	# ${MKSHARE} == "no"
    143 
    144 clean:
    145 	-rm -rf ${TZBUILDDIR}
    146 
    147 .include <bsd.prog.mk>
    148