On 2014-07-05 01:45, Andy Lutomirski wrote: > On Fri, Jul 4, 2014 at 3:15 PM, Michal Marek <mmarek@xxxxxxx> wrote: >> Dne 13.6.2014 19:29, Andy Lutomirski napsal(a): >>> On Fri, Jun 13, 2014 at 2:45 AM, Michal Marek <mmarek@xxxxxxx> wrote: >>>> Dne 13.6.2014 11:39, Michal Marek napsal(a): >>>>> Based on a x86-only patch by Andy Lutomirski <luto@xxxxxxxxxxxxxx> >>>>> >>>>> With modular kernels, 'make install' is going to need the installed >>>>> modules at some point to generate the initramfs. >>>>> >>>>> Signed-off-by: Michal Marek <mmarek@xxxxxxx> >>>>> --- >>>>> Makefile | 6 ++++++ >>>>> 1 file changed, 6 insertions(+) >>>>> >>>>> diff --git a/Makefile b/Makefile >>>>> index 7680d7c..7e5e483 100644 >>>>> --- a/Makefile >>>>> +++ b/Makefile >>>>> @@ -503,6 +503,12 @@ ifeq ($(KBUILD_EXTMOD),) >>>>> endif >>>>> endif >>>>> endif >>>>> +# install and module_install need also be processed one by one >>>>> +ifneq ($(filter install,$(MAKECMDGOALS)),) >>>>> + ifneq ($(filter modules_install,$(MAKECMDGOALS)),) >>>>> + mixed-targets := 1 >>>>> + endif >>>>> +endif >>>> >>>> Note that this version does not enforce the ordering, it just avoids the >>>> interleaved execution. It can be added if desired. >>> >>> Hmm. This will fix 'make modules_install install' but will not fix >>> 'make install modules_install'. I don't know how many people would >>> type the latter. >> >> Resuming a thread from last month -- As I said, it does not enforce the >> ordering. So it's not as bullet-proof as your patch, but it works on all >> architectures. I'm thinking about adding the patch to kbuild.git for >> 3.17. But if you want to fix the ordering as well, feel free to change >> the __build_one_by_one rule to do this. > > Sounds good to me. > > Where's __build_one_by_one? A few lines below in the main Makefile: 513 ifeq ($(mixed-targets),1) 514 # ====================================================================== ===== 515 # We're called with mixed targets (*config and build targets). 516 # Handle them one by one. 517 518 PHONY += $(MAKECMDGOALS) __build_one_by_one 519 520 $(filter-out __build_one_by_one, $(MAKECMDGOALS)): __build_one_by_one 521 @: 522 523 __build_one_by_one: 524 $(Q)set -e; \ 525 for i in $(MAKECMDGOALS); do \ 526 $(MAKE) -f $(srctree)/Makefile $$i; \ 527 done Michal -- 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