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

本文介绍了解决Linux内核编译过程中遇到的Makefile混合使用隐含规则和普通规则导致的错误。提供了具体的修改案例,帮助开发者正确配置Makefile。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 $@

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值