From a5d38fc897a1a181328b5cf90d4219f618ef51db Mon Sep 17 00:00:00 2001
From: ariclone <>
Date: Thu, 13 Jun 2002 17:55:52 +0000
Subject: [PATCH] fix dependencies in object dirs

---
 Common.mk |  8 +++++---
 setup     | 10 ++++++++++
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/Common.mk b/Common.mk
index 6478f4ecd..fb153b95f 100644
--- a/Common.mk
+++ b/Common.mk
@@ -28,16 +28,18 @@ all:	$(OBJS)
 
 doc:	$(SRCS:.c=.doc) $(CPPSRCS.cpp=.doc) $(HDRS:.h=.doc)
 
+DEPOBJS	= $(addprefix $(OBJDIR)/, $(SRCS:.c=.dep)) $(addprefix $(OBJDIR)/, $(CPPSRCS:.cpp=.dep))
+
 clean::
 	$(RM) $(OBJS) core *.doc
 
 clobber: clean
 	$(RM) .depend .#* *~ *.$(OE)
 
-depend::
+depend:: $(DEPOBJS)
 	@echo -n >.depend
-	@for i in $(SRCS) $(CPPSRCS) ; do\
-	$(CC) -MM $(IFLAGS) $(DFLAGS) $(CFLAGS) $$i >>.depend ; done
+	@for i in $(DEPOBJS) ; do\
+	cat $$i >>.depend ; $(RM) $$i ; done
 
 tags::
 	for i in $(SRCS) $(CPPSRCS) ; do\
diff --git a/setup b/setup
index 5de83b2dc..1c47ce0c5 100755
--- a/setup
+++ b/setup
@@ -940,6 +940,16 @@ if [ "$DARWIN" = "1" ] ; then
 fi
 echo >> $RULESFILE
 
+echo "\$(OBJDIR)/%.dep: %.c" >> $RULESFILE
+echo "	@echo -n \"\$(OBJDIR)/\" >\$@" >> $RULESFILE
+echo "	@\$(CC) -MM \$(IFLAGS) \$(DFLAGS) \$(CFLAGS) \$< >>\$@" >> $RULESFILE
+echo >> $RULESFILE
+
+echo "\$(OBJDIR)/%.dep: %.cpp" >> $RULESFILE
+echo "	@echo -n \"\$(OBJDIR)/\" >\$@" >> $RULESFILE
+echo "	@\$(CC) -MM \$(IFLAGS) \$(DFLAGS) \$(CFLAGS) \$< >>\$@" >> $RULESFILE
+echo >> $RULESFILE
+
 #
 # Source code documentation