xref: /freebsd-src/contrib/bmake/unit-tests/objdir-writable.mk (revision 1d3f2ddc32fc37e4835aa5a51eabc8696c1e8114)
1*1d3f2ddcSSimon J. Gerraty# $NetBSD: objdir-writable.mk,v 1.7 2022/02/09 21:24:29 rillig Exp $
2e2eeea75SSimon J. Gerraty
3e2eeea75SSimon J. Gerraty# test checking for writable objdir
4e2eeea75SSimon J. Gerraty
512904384SSimon J. GerratyTMPDIR?= /tmp
612904384SSimon J. GerratyRO_OBJDIR?= ${TMPDIR}/roobj
7e2eeea75SSimon J. Gerraty
8e2eeea75SSimon J. Gerraty.if make(do-objdir)
9e2eeea75SSimon J. Gerraty# this should succeed
10e2eeea75SSimon J. Gerraty.OBJDIR: ${RO_OBJDIR}
11e2eeea75SSimon J. Gerraty
12e2eeea75SSimon J. Gerratydo-objdir:
13e2eeea75SSimon J. Gerraty.else
14e2eeea75SSimon J. Gerratyall: no-objdir ro-objdir explicit-objdir
15e2eeea75SSimon J. Gerraty
16e2eeea75SSimon J. Gerraty# make it now
17*1d3f2ddcSSimon J. Gerraty_!=	mkdir -p ${RO_OBJDIR}
18*1d3f2ddcSSimon J. Gerraty_!=	chmod 555 ${RO_OBJDIR}
19e2eeea75SSimon J. Gerraty
20e2eeea75SSimon J. Gerraty.END: rm-objdir
21e2eeea75SSimon J. Gerratyrm-objdir:
22e2eeea75SSimon J. Gerraty	@rmdir ${RO_OBJDIR}
23e2eeea75SSimon J. Gerraty
24e2eeea75SSimon J. Gerratyno-objdir:
2512904384SSimon J. Gerraty	@MAKEOBJDIR=${RO_OBJDIR} ${.MAKE} -r -f /dev/null -C ${TMPDIR} -V .OBJDIR
26e2eeea75SSimon J. Gerraty
27e2eeea75SSimon J. Gerratyro-objdir:
2812904384SSimon J. Gerraty	@MAKEOBJDIR=${RO_OBJDIR} ${.MAKE} -r -f /dev/null -C ${TMPDIR} -V .OBJDIR MAKE_OBJDIR_CHECK_WRITABLE=no
29e2eeea75SSimon J. Gerraty
30e2eeea75SSimon J. Gerratyexplicit-objdir:
3112904384SSimon J. Gerraty	@MAKEOBJDIR=${TMPDIR} ${.MAKE} -r -f ${MAKEFILE:tA} -C ${TMPDIR} do-objdir -V .OBJDIR
32e2eeea75SSimon J. Gerraty.endif
33