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