Makefile:混合的隐含和通用规则

来源:互联网 发布:已阻止java应用程序 编辑:程序博客网 时间:2024/05/16 04:42
在编译kernel 时,有机会碰见下面的错误: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 $@
0 0
原创粉丝点击