xref: /freebsd/share/mk/local.sys.mk (revision b7d28aff1009ed31d870976928b60328bf585d07)
1# $FreeBSD$
2
3.if ${MK_DIRDEPS_BUILD} == "yes"
4MAKE_PRINT_VAR_ON_ERROR+= \
5	.CURDIR \
6	.MAKE \
7	.OBJDIR \
8	.TARGETS \
9	DESTDIR \
10	LD_LIBRARY_PATH \
11	MACHINE \
12	MACHINE_ARCH \
13	MAKEOBJDIRPREFIX \
14	MAKESYSPATH \
15	MAKE_VERSION\
16	PATH \
17	SRCTOP \
18	OBJTOP \
19	${MAKE_PRINT_VAR_ON_ERROR_XTRAS}
20
21.if ${.MAKE.LEVEL} > 0
22MAKE_PRINT_VAR_ON_ERROR += .MAKE.MAKEFILES .PATH
23.endif
24.endif
25
26.include "src.sys.mk"
27
28.if ${.MAKE.MODE:Mmeta*} != ""
29# we can afford to use cookies to prevent some targets
30# re-running needlessly
31META_COOKIE=		${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}}
32META_COOKIE_RM=		@rm -f ${META_COOKIE}
33META_COOKIE_TOUCH=	@touch ${META_COOKIE}
34# some targets need to be .PHONY - but not in meta mode
35META_NOPHONY=
36CLEANFILES+=		${META_TARGETS}
37_meta_dep_before:	.USEBEFORE
38	${META_COOKIE_RM}
39_meta_dep_after:	.USE
40	${META_COOKIE_TOUCH}
41# Attach this to a target to allow it to benefit from meta mode's
42# not rerunning a command if it doesn't need to be considering its
43# metafile/filemon-tracked dependencies.
44META_DEPS=	_meta_dep_before _meta_dep_after .META
45.else
46META_COOKIE_RM=
47META_COOKIE_TOUCH=
48META_NOPHONY=	.PHONY
49.endif
50META_DEPS+=	${META_NOPHONY}
51