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