Makefile:xxx:***混合的隐含和普通规则。停止

Makefile: *** 混合的隐含和普通规则。 停止。

        Makefile: *** mixed implicit and normal rules. Stop.

    这个原因可能是Make工具对低版本内核的Makefile一些旧的规则兼容不好,我们只需要修改对应的Makefile。

    如 一:

    原始的:
        / %/: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1)

                $(build)=$(build-dir)
    修改后:
        /: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1)
                $(build)=$(build-dir)
        %/: prepare scripts FORCE
                $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1)
                $(build)=$(build-dir)

    如二:

    原始的:
        config %config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig $@

    修改后:
        config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig $@
        %config: scripts_basic outputmakefile FORCE
                $(Q)mkdir -p include/linux include/config
                $(Q)$(MAKE) $(build)=scripts/kconfig $@

In VIM, use    /text command  quick find.

For example: /config %

原文地址:https://www.cnblogs.com/ht-beyond/p/4189514.html