From 29f227c1445a0cf9c7769a3f69be5db48b6e90fc Mon Sep 17 00:00:00 2001 From: Bryan Drewery Date: Tue, 14 Jun 2016 16:20:25 +0000 Subject: [PATCH] WITH_META_MODE: Enable printing of some of make's environment on error. This will print a set of variables from make on error using MAKE_PRINT_VAR_ON_ERROR. It is already enabled for the DIRDEPS_BUILD. It may make sense to enable this in the non-meta mode as well once people are more used to its more verbose error output. This makes it much simpler to see which .meta file is used when a command files so that it may be inspected for the build command. Suggested by: sjg Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division --- share/mk/local.sys.mk | 16 ++++++++++++++-- tools/build/options/WITH_META_MODE | 3 +++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/share/mk/local.sys.mk b/share/mk/local.sys.mk index e3d212c6b38..73fe5f578e7 100644 --- a/share/mk/local.sys.mk +++ b/share/mk/local.sys.mk @@ -1,6 +1,18 @@ # $FreeBSD$ -.if ${MK_DIRDEPS_BUILD} == "yes" +.if ${MK_DIRDEPS_BUILD} == "yes" || ${MK_META_MODE} == "yes" + +# Not in the below list as it may make sense for non-meta mode +# eventually. meta.sys.mk (DIRDEPS_BUILD) also already adds these in. +.if ${MK_DIRDEPS_BUILD} == "no" && ${MK_META_MODE} == "yes" +MAKE_PRINT_VAR_ON_ERROR += \ + .ERROR_TARGET \ + .ERROR_META_FILE \ + .MAKE.LEVEL \ + MAKEFILE \ + .MAKE.MODE +.endif + MAKE_PRINT_VAR_ON_ERROR+= \ .CURDIR \ .MAKE \ @@ -12,7 +24,7 @@ MAKE_PRINT_VAR_ON_ERROR+= \ MACHINE_ARCH \ MAKEOBJDIRPREFIX \ MAKESYSPATH \ - MAKE_VERSION\ + MAKE_VERSION \ PATH \ SRCTOP \ OBJTOP \ diff --git a/tools/build/options/WITH_META_MODE b/tools/build/options/WITH_META_MODE index 65595ac1c4d..9f7badee596 100644 --- a/tools/build/options/WITH_META_MODE +++ b/tools/build/options/WITH_META_MODE @@ -41,6 +41,9 @@ The meta files can also be useful for debugging. The build will hide commands ran unless .Va NO_SILENT is defined. +Errors will cause +.Xr make 1 +to show some of its environment for further debugging. .Pp The build operates as it normally would otherwise. This option originally invoked a different build system but that was renamed