Hi Kanika,

> On 24 Feb 2018, at 20:40, KANIKA SAINI <kanika16...@iiitd.ac.in> wrote:
> 
> Thank you, Lars. 
> The links you have provided have managed to make things clearer to me now.
> 
> I understand how a flag in the makefile can be changed by passing a parameter 
> to the make command in the command line and how 
> "origin" checks where the variable comes from.
> I did realize creating the dependency of the Makefile itself would indeed not 
> be a good idea at the finer level of granularity. 
> I went through the documentation at 
> http://unikraft.neclab.eu/developers-app.html 
> <http://unikraft.neclab.eu/developers-app.html> and can now understand the 
> structure of makefiles of libraries better. 
> 
> I spent some time studying the problem and came across this solution at 
> https://www.cmcrossroads.com/article/rebuilding-when-cppflags-changes 
> <https://www.cmcrossroads.com/article/rebuilding-when-cppflags-changes> which 
> uses the concept of signatures. 
> I also understood how rules are dynamically being set by the Makefiles in 
> support/build/ directory. 
> 
> To be able to draft a solution there's one more thing lacking my 
> understanding, which is the order of the execution of the makefiles. 
> What calls the dynamic makefiles and when is the main makefile called and how 
> do the dynamic makefiles pass those parameters to the main one?

I am not sure I understand your question.

Generally, you can debug makefiles which can help you understand what is going 
on: e.g. see http://www.oreilly.com/openbook/make3/book/ch12.pdf 
<http://www.oreilly.com/openbook/make3/book/ch12.pdf>

But in a nutshell: you call make ... in your directory and the Makefile is 
invoked
* Other rules, e.g. in support / build are included via include statements
* All the other *.uk makefiles are also included 
=> The makefile in unikraft / unikraft.git drives everything related to 
building and configuration (including menuconfig)

In some cases you have nested makefile execution, where another makefile is 
invoked via "@make" as in the Hello World app

Lars

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to