Re: Automatic dependency resolution on generated python file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20/06/16 15:50, Michal Marek wrote:
> On 2016-05-24 01:02, Kieran Bingham wrote:
>> Hi Kbuild / Michal,
>>
>> I've been working through a problem that Jan has reported whereby if we
>> modify a file included by our template  for constants.py, the generated
>> file is not rebuilt.
>>
>> The rule/cmd [0] to generate the python constants is
>> cmd_gen_constants_py which uses the $(CPP) with $(c_flags) to create the
>> output.
>>
>> One benefit of this is that it already creates the $(depfile) through
>> the addition of the flags provided by $(c_flags), however as yet it
>> would seem that my efforts to understand how the $(depfile) gets
>> included have failed.
>>
>> From what I can tell, the $(call if_changed...) rule is generating my
>> targets .constants.py.cmd, but the .d file is not being utilised.
>>
>> By swapping $(call if_changed, ) to $(call if_changed_dep,...) I can see
>> that my .constants.py.cmd [1] file now has (apparently) correct
>> dependency rules being generated. However they still don't take actual
>> effect. If I 'touch/modify' one of the files I have added to the
>> #includes, then my target is not rebuilt (I have added
>> include/linux/kieran.h for testing this specifically without rebuilding
>> all other objects)
> 
> Hi Kieran,
> 
> sorry for the late reply.

No problem, still useful!

> In case this is still relevant: For
> if_changed/if_changed_dep to work, you must list the target in the
> $(targets) list (without the $(obj) prefix) and add FORCE as a
> prerequisite of the rule.

Thankyou! - It works!

Now my generate rule is only called when it is supposed to be.

I'll hopefully get this fix sent in with the rest of my series by the
weekend.

> Michal

Thankyou for your support

-- 
Regards

Kieran Bingham
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux