First, thanks for sharing your work. And good job as for code clarity: it's very readable in spite of make syntax not being that easy.
That said, I think that there is a design flaw: the targets do not depend on the submakefiles.
In your test-app, if I run make (to build all), and then I change something in one of the .mk files (say a -O0 in -O2), the next call to make outputs "nothing to be done" instead of rebuilding everything impacted by the option change.
I tried fixing it by introducing the name of the submakefile as fourth parameter to ADD_TARGET_RULE macro in order to add it to the dependencies, but I didn't succeed.
Can you fix that or suggest another way to come to the expected behaviour ?
Hi there.
First, thanks for sharing your work. And good job as for code clarity: it's very readable in spite of make syntax not being that easy.
That said, I think that there is a design flaw: the targets do not depend on the submakefiles. In your test-app, if I run make (to build all), and then I change something in one of the .mk files (say a -O0 in -O2), the next call to make outputs "nothing to be done" instead of rebuilding everything impacted by the option change.
I tried fixing it by introducing the name of the submakefile as fourth parameter to ADD_TARGET_RULE macro in order to add it to the dependencies, but I didn't succeed.
Can you fix that or suggest another way to come to the expected behaviour ?
Regards,
Michael