[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [Qemu-devel] [PATCH] Makefile: Do not generate files
From: |
Thomas Huth |
Subject: |
Re: [Qemu-trivial] [Qemu-devel] [PATCH] Makefile: Do not generate files if "configure" has not been run yet |
Date: |
Thu, 8 Jun 2017 06:31:45 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 07.06.2017 22:59, Eric Blake wrote:
> On 06/07/2017 02:11 PM, Thomas Huth wrote:
>> When doing a "make -j10" in the vanilla QEMU source tree (without
>> running "configure first), the Makefile currently generates two
>
> s/"configure/"configure"/
>
>> files already, qemu-version.h and qemu-options.def. This should not
>> happen, so let's make these targets depend on config-host.mak.
>> Also the python files can not be executed without $(PYTHON), so
>> these scripts should depend on config-host.mak, too.
>>
>> Signed-off-by: Thomas Huth <address@hidden>
>> ---
>> Makefile | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/Makefile b/Makefile
>> index c830d7a..6786dc2 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -286,7 +286,7 @@ endif
>>
>> all: $(DOCS) $(TOOLS) $(HELPERS-y) recurse-all modules
>>
>> -qemu-version.h: FORCE
>> +qemu-version.h: config-host.mak FORCE
>
> This one makes sense.
>
>> @@ -393,6 +394,8 @@ gen-out-type = $(subst .,-,$(suffix $@))
>>
>> qapi-py = $(SRC_PATH)/scripts/qapi.py $(SRC_PATH)/scripts/ordereddict.py
>>
>> +$(qapi-py): config-host.mak
>
> But this one is weird. How can a pre-existing file have a dependency?
> Remember, $(qapi-py) is not the list of built files, but the list of
> files used to build other files. It seems like you either want
> config-host.mak includes in $(qapi-py), or...
>
>> +
>> qga/qapi-generated/qga-qapi-types.c qga/qapi-generated/qga-qapi-types.h :\
>> $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-types.py
>> $(qapi-py)
>
> ...that THIS should be the rule that depends on config-host.mak in
> addition do depending on $(qapi-py).
Yes, it's all those targets that use $(PYTHON) which should depend on
config-host.mak instead. But there are lots of them, and all of them
depend on $(qapi-py) already, so it seemed simpler to make $(qapy-py)
depend on config-host.mak instead of adding that dependency to all those
targets ... but maybe that's too confusing in the long run, so I'll add
it to those targets instead.
Thomas
signature.asc
Description: OpenPGP digital signature