automake 1.14 is forcing to place object files in subdirectories:
automake-1.14: warning: possible forward-incompatibility. automake-1.14: At least a source file is in a subdirectory, but the 'subdir-objects' automake-1.14: automake option hasn't been enabled. For now, the corresponding output automake-1.14: object file(s) will be placed in the top-level directory. However, automake-1.14: this behaviour will change in future Automake versions: they will automake-1.14: unconditionally cause object files to be placed in the same subdirectory automake-1.14: of the corresponding sources. automake-1.14: You are advised to start using 'subdir-objects' option throughout your automake-1.14: project, to avoid future incompatibilities.
A straightforward fix has been applied in libspectrum ([r5046]) but there are some errors in fuse and fuse-utils when using the command `make distclean'. Apparently automake will not support compiling any file from the same directory from different Makefiles, so the building of compat library needs a refactor.
I've attached patches for fuse and fuse-utils. I'll commit these in a few weeks barring objections.
BTW, the later patch makes fuse-utils use automake in a non-recursive way, which is defended by some authors ([1]). libspectrum already uses the non-recursive method.
I did the non-recursive make for libspectrum and did one for Fuse at the time. I the restructure was slightly controversial at the time but that the libspectrum portion was committed when we encountered a build error it was able to resolve.
I'd be happy to see the non-recursive version integrated.
I think it would improve the build time of Fuse on Windows, but that's another battle.
Thanks, committed by [r5055] and [r5056].
Related
Commit: [r5055]
Commit: [r5056]