From 7efaf2255318aad0861569eea975516a2e7e7526 Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauldmccarthy@gmail.com> Date: Sat, 11 Dec 2021 12:12:56 +0000 Subject: [PATCH] RF: Tweak depend.mk rule a little bit to support saving object files to a build directory. Project Makefiles can set a BUILDDIR variable to their build directory - this will be used in the generated target names --- config/rules.mk | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/config/rules.mk b/config/rules.mk index 815fefd..df832a3 100644 --- a/config/rules.mk +++ b/config/rules.mk @@ -23,8 +23,14 @@ depend: depend.mk: @echo Building dependency file depend.mk @for srcfile in `find . -name "*.c" -or -name "*.cc" -or -name "*.cxx" -or -name "*.cpp" -or -name "*.inc" -or -name "*.hpp"` verylongdummyname ; do \ - if [ -f $$srcfile ] ; then \ - ${CC} -MM ${INCFLAGS} $$srcfile >> depend.mk ; \ + if [ -f "$${srcfile}" ] ; then \ + basename="$${srcfile%.*}" ; \ + basename="$${basename#./}" ; \ + objfile="$${basename}.o" ; \ + depfile="$${basename}.mk" ; \ + ${CC} -MM -MT "${BUILDDIR}$${objfile}" -MF "$${depfile}" ${CPPFLAGS} ${INCFLAGS} "$${srcfile}" > /dev/null; \ + cat "$${depfile}" >> depend.mk ; \ + rm -f "$${depfile}" ; \ else \ touch depend.mk; \ fi \ -- GitLab