From patchwork Wed Jul 11 14:40:21 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 170476 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id E59692C01FA for ; Thu, 12 Jul 2012 00:41:22 +1000 (EST) Received: from localhost ([::1]:51778 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Soy6S-0001ow-QQ for incoming@patchwork.ozlabs.org; Wed, 11 Jul 2012 10:41:20 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36330) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Soy5t-0000a3-FE for qemu-devel@nongnu.org; Wed, 11 Jul 2012 10:40:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Soy5o-0001fO-8x for qemu-devel@nongnu.org; Wed, 11 Jul 2012 10:40:45 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:34952) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Soy5n-0001Zb-TK for qemu-devel@nongnu.org; Wed, 11 Jul 2012 10:40:40 -0400 Received: by mail-pb0-f45.google.com with SMTP id ro12so2223237pbb.4 for ; Wed, 11 Jul 2012 07:40:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=XVkEorchptQwbVAUmqk1r9GGX198JTVTCnSTHeG7+PI=; b=BD5JhJnjDk4pDetsInRK2wGdoRGcTk+bIh3uGr0B3fOkkaDL+awesRWXYAxiJEZBsO VcNR32MPnNXWFMK10XlB/E5BeP4KJAljRhxcJu2ZNWHLva1X9jgEg3QZSZWxiyWyivzP bBIbHbKFXfIK+6gKHOJE7gzs0n2VKKThsHRVW5SFUigzl8T0aiSfiUMQRBxLqvztReCC A0bwB6RG2Cc4GabCNhpmXL8qWF+qnM1ql0IkYP9f6IJ6sX7iE7sNlRR8xCwId31WIwP8 vOo0I5J4LB/L3LsR/o1ubCPhinY3mijizPKf7FqtGsxYy4v01YDSnloOx0PfyUk3JJ9a 6Giw== Received: by 10.68.191.41 with SMTP id gv9mr5620365pbc.45.1342017638908; Wed, 11 Jul 2012 07:40:38 -0700 (PDT) Received: from yakj.usersys.redhat.com (93-34-189-113.ip51.fastwebnet.it. [93.34.189.113]) by mx.google.com with ESMTPS id qd2sm1830030pbb.29.2012.07.11.07.40.35 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 11 Jul 2012 07:40:37 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 11 Jul 2012 16:40:21 +0200 Message-Id: <1342017621-12650-3-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1342017621-12650-1-git-send-email-pbonzini@redhat.com> References: <1342017621-12650-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.160.45 Cc: jan.kiszka@siemens.com, aliguori@us.ibm.com, avi@redhat.com Subject: [Qemu-devel] [PATCH 2/2] build: get dependency file directories from object file names X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org After commit dcff25f2cd8c11a9368cc2369aeb0319c32d9e26, Dependency file are taken from the directories that have a Makefile.objs file. This is not enough, since files can be included from other directories. So, pick them from directories that have an object file in them. Signed-off-by: Paolo Bonzini --- Makefile | 2 +- Makefile.dis | 3 --- Makefile.hw | 3 --- Makefile.target | 3 --- Makefile.user | 3 --- rules.mak | 3 ++- 6 files changed, 3 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 1b7cd2f..221319e 100644 --- a/Makefile +++ b/Makefile @@ -406,5 +406,5 @@ tar: Makefile: $(GENERATED_HEADERS) # Include automatically generated dependency files -# All subdir dependencies come automatically from our recursive subdir rules --include $(wildcard *.d) +# Dependencies in Makefile.objs files come from our recursive subdir rules +-include $(wildcard *.d tests/*.d) diff --git a/Makefile.dis b/Makefile.dis index 09060f0..2cfec6a 100644 --- a/Makefile.dis +++ b/Makefile.dis @@ -18,6 +18,3 @@ all: $(libdis-y) clean: rm -f *.o *.d *.a *~ - -# Include automatically generated dependency files --include $(wildcard *.d) diff --git a/Makefile.hw b/Makefile.hw index 28fe100..59f5b48 100644 --- a/Makefile.hw +++ b/Makefile.hw @@ -21,6 +21,3 @@ all: $(hw-obj-y) clean: rm -f $(addsuffix *.o, $(sort $(dir $(hw-obj-y)))) rm -f $(addsuffix *.d, $(sort $(dir $(hw-obj-y)))) - -# Include automatically generated dependency files --include $(patsubst %.o, %.d, $(hw-obj-y)) diff --git a/Makefile.target b/Makefile.target index 74f7a4a..7892a8d 100644 --- a/Makefile.target +++ b/Makefile.target @@ -214,6 +214,3 @@ endif GENERATED_HEADERS += config-target.h Makefile: $(GENERATED_HEADERS) - -# Include automatically generated dependency files --include $(wildcard *.d fpu/*.d tcg/*.d) diff --git a/Makefile.user b/Makefile.user index 1783b2a..9302d33 100644 --- a/Makefile.user +++ b/Makefile.user @@ -22,6 +22,3 @@ clean: for d in . trace; do \ rm -f $$d/*.o $$d/*.d $$d/*.a $$d/*~; \ done - -# Include automatically generated dependency files --include $(wildcard *.d) diff --git a/rules.mak b/rules.mak index 60f3e96..a284946 100644 --- a/rules.mak +++ b/rules.mak @@ -94,7 +94,6 @@ define unnest-dir $(foreach var,$(nested-vars),$(call push-var,$(var),$1/)) $(eval obj := $(obj)/$1) $(eval include $(SRC_PATH)/$1/Makefile.objs) -$(eval -include $(wildcard $1/*.d)) $(eval obj := $(patsubst %/$1,%,$(obj))) $(foreach var,$(nested-vars),$(call pop-var,$(var),$1/)) endef @@ -113,4 +112,6 @@ define unnest-vars $(call unnest-vars-1) $(foreach var,$(nested-vars),$(eval $(var) := $(filter-out %/, $($(var))))) $(shell mkdir -p $(sort $(foreach var,$(nested-vars),$(dir $($(var)))))) +$(foreach var,$(nested-vars), $(eval \ + -include $(addsuffix *.d, $(sort $(dir $($(var))))))) endef