The lndir program makes a shadow copy of a directory tree, except that the shadow is not populated with real files but instead with symbolic links (*) pointing at the real files in the original directory tree. This is usually useful building applications outside their source directory, when the build machinery does not directly support that behavior. You can build in the shadow tree, and the object files will be in the shadow directory, while the source files in the shadow directory are just symlinks (*) to the real files. (*) On MSYS, instead of symbolic links the shadow tree is populated with hardlinks to the original files whenever possible, and with copies if not (e.g. the original and destination directories are on different devices, or the file system is not NTFS).