title: Track origin of file deletion during make
body: <p>I have a CMake project I am working on, and when I run <code>"make"</code> then the rebuild of one of the targets is getting triggered regardless of whether I touch any of the files in the system. I have managed to discover that this is because one of the files on which the target depends is somehow getting deleted when I run <code>"make"</code>, so the system registers that it needs to be rebuilt. I tried setting <code>"chattr +i"</code> on this file to make it immutable and indeed, with this flag set, the rebuilding of the target is not triggered, though there are also no errors from a deletion attempt. But I think I can be sure that this is the culprit. </p>
  
  <p>So now my question. How can I figure out what script or makefile is actually deleting this file? It is a big project with quite a few scripts and sub-makefiles which potentially run at different times during the build, so I am having a hard time manually discovering what is doing this. Is there some nice trick I can pull from the filesystem side to help? I tried doing <code>"strace make"</code>, but parsing the output I can't seem to find the filename appearing anywhere. I am no <code>strace</code> expert though, so perhaps the file is getting deleted via some identifier rather than the filename? Or I am not stracing spawned processes perhaps?</p>