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

来源:互联网 发布:美图秀秀 mac版本 编辑:程序博客网 时间:2024/05/07 07:25

Makefile: 混合的隐含和普通规则 错误  

2012-06-28 03:13:47|  分类:Linux |  标签:|举报|字号 订阅

在编译 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
原创粉丝点击