Browse Source
The generic compile rules currently rely on the compiler to infer object and depfile names from the source pathname when -o and -MF are not passed explicitly. That works for plain compiler invocations. However, older ccache versions with CCACHE_BASEDIR can rewrite a symlinked source path to its target path before deriving the default output names. In that case, compiling spike_dasm_option_parser.cc may create option_parser.o and option_parser.d instead of the declared target filenames, which breaks the build. Upstream ccache fixed this in v4.12, but older versions remain common in distribution and CI environments. Pass explicit -o $@ and matching -MF paths in the generic C, C++, test, program, install-program, and precompiled-header rules. This keeps each recipe output aligned with the declared make target and avoids depending on inferred filenames. Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>pull/2288/head
1 changed files with 6 additions and 6 deletions
Loading…
Reference in new issue