Hi Hans - first, congratulations on getting this to work at all. I don't recall anyone else undertaking this. I'm afraid I don't have any particular insights, but just so you know someone read your mail:
Question: Is it OK for me to hook into ./$(DEPDIR)/ at all? I could use just some file in $(builddir), after all. I don't see a specific problem with using $(DEPDIR), yet if you can use your own directory in builddir, that seems safer. Just in principle. Question: Is *.cdep a good name? I want to avoid name collisions. I don't know of anything else that uses .cdep (not that I would, necessarily), and have nothing against it myself. OTOH, using xml seems more unusual than targeting C, so maybe .xmldep or even .xmlcdep, unless the long extension is irritating in some way. Question: Is it ok for me to use $(am__mv)? It seems no am__ variables are documented. So, although in practice I expect it would be fine, yet since it is merely "mv -f", in your place I would be tempted to define my own variable for it. I have one other comment, about the dummy file that is created: provide an explicit recipe to create a dummy dep file to In a relatively recent change (not in 1.16.5), Automake's dep setup was changed to create an empty file instead of one with the line "# dummy". In large enough projects, this turned out to make a noticeable speed difference (having to create a regular file and not just an inode). I'll append the ChangeLog entry. Happy hacking, Karl 2022-05-23 Jan Engelhardt <jeng...@inai.de> deps: create empty file instead of dummy file. This change is per an automake thread, see both before and after: https://lists.gnu.org/archive/html/automake/2022-05/msg00006.html * lib/am/depend.am ($(am__depfiles_remade)): create empty files for dependencies instead of files with a line '# dummy'. Turns out this is noticeably faster. * THANKS: update Jan's email address. * NEWS: mention this.