freebsd-nq/share/mk
Bryan Drewery 01ba2b6319 cleandir: Fix ESTALE errors from parallel removals.
This fixes 'make cleandir' to use the same ordering as 'make cleanobj'.
Meaning that SUBDIR will be recursed before the current directory is
handled.  This avoids an 'rm -rf /usr/obj/usr/src/lib/libc' while
a child 'rm -rf /usr/obj/usr/src/lib/libc/tests' is being ran next,
or even removing the current directory and then recursing into a child
and using the 'missing OBJDIR' logic to remove files rather than the
directory.

The most ideal ordering here would be for 'cleanobj' and 'cleandir' to
simply remove the .OBJDIR and then not recurse at all.  This is only
safe if it is guaranteed that all children directories have no orphaned
files in their source checkout and are only using obj directories.  This
is usually safe from the top-level build targets and when using
WITH_AUTO_OBJ.  Improving the build for those cases is coming.

Reported by:	cperciva, scottl
X-MFC-With:	r321427
MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
2017-07-25 00:12:48 +00:00
..
atf.test.mk
auto.obj.mk If MAKEOBJDIRPREFIX is a prefix match for .CURDIR, then __objdir is .CURDIR 2017-04-18 23:59:15 +00:00
bsd.arch.inc.mk
bsd.clang-analyze.mk Remove the old depend (mkdep) code and make FAST_DEPEND the one true way. 2016-03-30 23:50:23 +00:00
bsd.compiler.mk Add basic bsd.linker.mk auto included from bsd.compiler.mk. 2017-06-22 21:03:20 +00:00
bsd.confs.mk DIRDEPS_BUILD: Fix '/' in group names creating a bad cookie. 2016-12-03 05:29:35 +00:00
bsd.cpu.mk Explicitly set the desired MIPS ABI in toolchain flags. 2017-04-07 20:02:01 +00:00
bsd.crunchgen.mk META_MODE: Fix build-tools still sometimes rebuilding during target build. 2017-04-06 18:21:59 +00:00
bsd.dep.mk Allow disabling dependency tracking if DEPEND_CFLAGS is empty. 2017-07-24 23:32:40 +00:00
bsd.doc.mk Revert crap accidentally committed 2017-01-28 16:31:23 +00:00
bsd.dtb.mk
bsd.endian.mk Add full softfloat and hardfloat support for MIPS. 2016-10-31 15:33:58 +00:00
bsd.files.mk Respect INSTALL_AS_USER for FILES. 2017-07-21 16:14:35 +00:00
bsd.incs.mk DIRDEPS_BUILD: Fix '/' in group names creating a bad cookie. 2016-12-03 05:29:35 +00:00
bsd.info.mk Revert r301079. 2016-06-03 19:25:36 +00:00
bsd.init.mk Fix 'make clean all' to work again. 2017-06-20 20:52:06 +00:00
bsd.kmod.mk WITH_META_MODE: Resolve SYSDIR to avoid changed build commands. 2016-05-31 23:08:43 +00:00
bsd.lib.mk Always set CLEANFILES, even if not building. 2016-11-13 00:10:56 +00:00
bsd.libnames.mk Provide libdl. 2017-07-10 14:59:21 +00:00
bsd.linker.mk lld 5.0 supports filter libraries, so enable linker feature flag 2017-07-24 15:39:09 +00:00
bsd.links.mk
bsd.man.mk Revert r301079. 2016-06-03 19:25:36 +00:00
bsd.mkopt.mk
bsd.nls.mk Revert r301079. 2016-06-03 19:25:36 +00:00
bsd.obj.mk cleandir: Fix ESTALE errors from parallel removals. 2017-07-25 00:12:48 +00:00
bsd.opts.mk Use __DEFAULT_DEPENDENT_OPTIONS for articulating dependency relationship 2017-07-24 18:21:01 +00:00
bsd.own.mk Follow-up r320061: Need to respect make.conf/env LIBDIR overrides. 2017-06-19 18:08:02 +00:00
bsd.port.mk
bsd.port.options.mk
bsd.port.post.mk
bsd.port.pre.mk
bsd.port.subdir.mk
bsd.prog.mk Add rules to build LLVM IR binaries and libraries. 2016-11-01 21:27:42 +00:00
bsd.progs.mk PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS. 2017-07-24 17:54:03 +00:00
bsd.README Fix a couple of typos and reword some sentences in bsd.README. 2017-03-08 05:49:58 +00:00
bsd.snmpmod.mk Add a make target (smilint) for running smilint tool against BMIBS 2017-01-17 03:38:49 +00:00
bsd.stand.mk Do not use -msoft-float with intention of disabling FP on aarch64 2017-04-07 22:58:25 +00:00
bsd.subdir.mk Similar to r296013 for NO_ROOT, force SUBDIR_PARALLEL for buildworld WORLDTMP staging. 2017-06-21 18:56:53 +00:00
bsd.suffixes-posix.mk Extract suffix rules into bsd.suffixes[-posix].mk. 2016-10-12 00:42:46 +00:00
bsd.suffixes.mk Revert r307823 (Use upstream suffixes for LLVM IR) for now. It causes a 2016-10-27 18:46:52 +00:00
bsd.symver.mk
bsd.sys.mk Add warning flags for GCC 7.1.0 compiler. 2017-07-21 14:50:32 +00:00
bsd.test.mk Sort the tests alphabetically before adding them to the Kyuafiles 2017-07-17 18:20:54 +00:00
dirdeps.mk Fix typo in comment. 2017-03-07 01:42:30 +00:00
gendirdeps.mk Update meta* from bmake-20161212 2016-12-23 02:57:00 +00:00
host-target.mk
install-new.mk
local.autodep.mk
local.dirdeps.mk DIRDEPS_BUILD: Exclude secure/lib* libraries for host builds. 2016-05-04 03:13:48 +00:00
local.gendirdeps.mk DIRDEPS_BUILD: Clang headers are now in lib/clang/headers 2016-09-02 19:28:24 +00:00
local.init.mk
local.meta.sys.mk META_MODE: Move ignoring of /usr/local/etc/libmap.d to proper place. 2017-06-01 23:04:44 +00:00
local.sys.env.mk
local.sys.mk Follow-up r320061: Need to respect make.conf/env LIBDIR overrides. 2017-06-19 18:08:02 +00:00
Makefile Add basic bsd.linker.mk auto included from bsd.compiler.mk. 2017-06-22 21:03:20 +00:00
meta2deps.py Fix syntax error in parse_path after r316952. 2017-05-08 20:44:21 +00:00
meta2deps.sh Update meta* from bmake-20161212 2016-12-23 02:57:00 +00:00
meta.autodep.mk When MAKEOBJDIRPREFIX points to a case-insensitive file system, the 2016-09-24 15:11:27 +00:00
meta.stage.mk Update dirdeps/meta bits from latest bmake. 2017-03-06 23:13:25 +00:00
meta.subdir.mk
meta.sys.mk Avoid clobbering existing value of META_COOKIE_TOUCH 2016-09-13 22:17:25 +00:00
netbsd-tests.test.mk
plain.test.mk
src.init.mk
src.libnames.mk Provide libdl. 2017-07-10 14:59:21 +00:00
src.opts.mk Formalize LEAPSECONDS and OLDTIMEZONES in share/zoneinfo/... as 2017-07-06 04:19:33 +00:00
src.sys.env.mk WITH_META_MODE: Don't let subdir traversals for 'make install' re-enable meta mode. 2016-08-25 23:55:56 +00:00
src.sys.mk Fix error when SRCCONF is empty. 2016-04-22 20:31:29 +00:00
stage-install.sh
suite.test.mk Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
sys.dependfile.mk Merge bmake-20160307 2016-03-11 01:35:39 +00:00
sys.mk META_MODE: NO_FILEMON should imply nofilemon. 2017-06-12 18:44:14 +00:00
tap.test.mk
version_gen.awk