varmod-mtime.mk revision 1.1
11.1Ssjg# $NetBSD: varmod-mtime.mk,v 1.1 2023/05/09 20:14:27 sjg Exp $
21.1Ssjg#
31.1Ssjg# Tests for the :mtime variable modifier, which provides mtime
41.1Ssjg# of variable value assumed to be a pathname.
51.1Ssjg
61.1Ssjgall:
71.1Ssjg
81.1Ssjg# mtime of this makefile
91.1Ssjgmtime:= ${MAKEFILE:mtime}
101.1Ssjg
111.1Ssjg# if pathname does not exist and timestamp is provided
121.1Ssjg# that is the result
131.1Ssjg.if ${no/such:L:mtime=0} != "0"
141.1Ssjg.  error
151.1Ssjg.endif
161.1Ssjg
171.1Ssjg.if ${no/such:L:mtime=42} != "42"
181.1Ssjg.  error
191.1Ssjg.endif
201.1Ssjg
211.1Ssjg# if no timestamp is provided and stat(2) fails use current time
221.1Ssjg.if ${no/such:L:mtime} < ${mtime}
231.1Ssjg.   error no/such:L:mtime ${no/such:L:mtime} < ${mtime}
241.1Ssjg.endif
251.1Ssjg
261.1SsjgCOOKIE = ${TMPDIR}/varmod-mtime.cookie
271.1Ssjgx!= touch ${COOKIE}
281.1Ssjg.if ${COOKIE:mtime=0} < ${mtime}
291.1Ssjg.   error COOKIE:mtime=0 ${COOKIE:mtime=0} < ${mtime}
301.1Ssjg.endif
31