On Wed, Jun 17, 2015 at 07:47:45AM +0200, Holger Freyther wrote:
On 16 Jun 2015, at 23:23, Andreas Rottmann mail@rotty.xx.vu wrote:
From: Andreas Rottmann a.rottmann@gmx.at
Having subdir-objects enabled is recommended by automake 1.14, to avoid future incompatibilities.
However, adding that option breaks out-of-tree builds, and also seems to break "make distclean" for in-tree builds. The reason is that apparently, automake with subdir-objects enabled cannot cope with source files in a different, non-child directory. To avoid that, we simply compile the files referenced in this way into a static library in their own source directory, and instead of referencing the source files, we link against that library.
Besides making the build system a bit more future proof, this change also potentially enhances build times, as it reduces the number of compiler invocations, in exchange a slight increase of "ar" invocations.
That automake behavior is shameful. What would be the effort to get rid off the recursive make?
AFAIR there was a patch series a few years ago from Diego Elio Pettenò (flameeyes) that changed the build system behavior of several osmo* subprojects to use non recursive make. There were objections against them, so they were not merged.
Kind regards, -Alex