[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] Fix compilation dependency issues of CONFIG
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] Fix compilation dependency issues of CONFIG_ARM_V7M |
Date: |
Fri, 02 Jun 2017 17:12:02 +0100 |
User-agent: |
mu4e 0.9.19; emacs 25.2.50.2 |
Peter Maydell <address@hidden> writes:
> On 2 June 2017 at 16:49, Alex Bennée <address@hidden> wrote:
>> Peter Maydell <address@hidden> 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