From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34737) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZON59-0000OK-5Q for qemu-devel@nongnu.org; Sun, 09 Aug 2015 05:39:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZON55-0002vq-Vd for qemu-devel@nongnu.org; Sun, 09 Aug 2015 05:39:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49791) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZON55-0002va-QN for qemu-devel@nongnu.org; Sun, 09 Aug 2015 05:39:51 -0400 Date: Sun, 9 Aug 2015 12:39:45 +0300 From: Victor Kaplansky Message-ID: <1439113148-21937-1-git-send-email-victork@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH v3 0/2] make: Cleanup and fix of loading of dependency info List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Eduardo Habkost , "Michael S. Tsirkin" , Stefan Weil , Paolo Bonzini , =?us-ascii?B?PT9VVEYtOD9xP0FsZXg9MjA9MjBCZW5uPUMzPUE5ZT89?= , Richard Henderson Changes from v2: Address comment by Paolo Bonzini: - Store list of generated hex files in a variable and derive from it list of dependences to be included. Address comment by Alex Bennee and Michael S. Tsirkin: - Add a comment about difference between $(@D) and $(*D) in gnu make. - Better explanation why touching of some *.dsl sources is necessary. make build can fail when one switches between commits without running "make clean". This is caused by loading old *.d dependency info files and is harmful for autogenerated sources with their own includes. This situation may significantly slow down the process of git bisect. These two patches clean things up and fix the issue both for further versions, and between old and new commits. This also replaces my previous patch "[PATCH] make: explicit dependencies for ACPI gen sources". I've tested the fix by validating that lists included by previous "*.d" approach and new "patsubst" approach are identical. Victor Kaplansky (2): make: fix where dependency *.d are stored. make: load only required dependency files. hw/i386/Makefile.objs | 8 +++++++- hw/i386/acpi-dsdt.dsl | 1 - hw/i386/q35-acpi-dsdt.dsl | 1 + rules.mak | 4 ++-- 4 files changed, 10 insertions(+), 4 deletions(-) -- --Victor