From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55487) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dGpAx-0000Ex-Vg for qemu-devel@nongnu.org; Fri, 02 Jun 2017 12:11:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dGpAu-0006cw-MN for qemu-devel@nongnu.org; Fri, 02 Jun 2017 12:11:47 -0400 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:36780) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dGpAu-0006ce-FY for qemu-devel@nongnu.org; Fri, 02 Jun 2017 12:11:44 -0400 Received: by mail-wm0-x229.google.com with SMTP id 7so29321544wmo.1 for ; Fri, 02 Jun 2017 09:11:44 -0700 (PDT) References: <1493314727-6951-1-git-send-email-wei@redhat.com> <4dbaaea9-7576-9acf-5327-b22db6f00ed2@redhat.com> <8b782ee5-3545-3cb5-3b09-209fcffee7e4@redhat.com> <87k24us83w.fsf@linaro.org> From: Alex =?utf-8?Q?Benn=C3=A9e?= In-reply-to: Date: Fri, 02 Jun 2017 17:12:02 +0100 Message-ID: <87inkes71p.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH 0/2] Fix compilation dependency issues of CONFIG_ARM_V7M List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Wei Huang , qemu-arm , QEMU Developers Peter Maydell writes: > On 2 June 2017 at 16:49, Alex Bennée wrote: >> Peter Maydell writes: >>> We seem to run into "CONFIG_FOO is defined for make but not >>> for the C preprocessor" from time to time, so maybe we should >>> fix that? >> >> Hmm is should be auto-generated from config-(host|target).mak but I've >> never quite figured out why we need timestamps rather than a straight >> dependency check in rules.mk: >> >> # Generate timestamp files for .h include files >> >> config-%.h: config-%.h-timestamp >> @cmp $< $@ >/dev/null 2>&1 || cp $< $@ >> >> config-%.h-timestamp: config-%.mak $(SRC_PATH)/scripts/create_config >> $(call quiet-command, sh $(SRC_PATH)/scripts/create_config < $< > $@,"GEN","$(TARGET_DIR)config-$*.h") >> >> This seems to be one of those things that goes away on a make clean && rebuild > > Not the issue in this case -- what happens is that these CONFIG_* > defines are defined in config-devices.mak, but we don't have any > equivalent config-devices.h which would expose them to the C code. Ahh I see. So I guess once the relevant dependencies are added alongside: %/config-devices.mak: default-configs/%.mak $(SRC_PATH)/scripts/make_device_config.sh The default rules should pick it up and generate the right things. > (I assume the rules.mak stuff is attempting to avoid having a > not-an-actual-change to the .h file result in rebuilding the whole > world.) OK that makes sense. -- Alex Bennée