local.sys.mk revision 296701
1# $FreeBSD: head/share/mk/local.sys.mk 296701 2016-03-11 23:45:32Z bdrewery $
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 but only when using filemon.
31.if ${.MAKE.MODE:Mnofilemon} == ""
32META_COOKIE=		${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}}
33META_COOKIE_RM=		@rm -f ${META_COOKIE}
34META_COOKIE_TOUCH=	@touch ${META_COOKIE}
35CLEANFILES+=		${META_TARGETS}
36_meta_dep_before:	.USEBEFORE
37	${META_COOKIE_RM}
38_meta_dep_after:	.USE
39	${META_COOKIE_TOUCH}
40# Attach this to a target to allow it to benefit from meta mode's
41# not rerunning a command if it doesn't need to be considering its
42# metafile/filemon-tracked dependencies.
43META_DEPS=	_meta_dep_before _meta_dep_after .META
44.endif
45.else
46# some targets need to be .PHONY - but not in meta mode
47META_NOPHONY=	.PHONY
48.endif
49META_NOPHONY?=
50META_COOKIE_RM?=
51META_COOKIE_TOUCH?=
52META_DEPS+=	${META_NOPHONY}
53