首页 > 代码库 > make内核提示:Makefile: *** 混合的隐含和普通规则。 停止。

make内核提示:Makefile: *** 混合的隐含和普通规则。 停止。

编译内核时提示:

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

 

主要是交叉编译器的语法兼容问题,修改Makefile即可:

找到445行:

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

找到1610行:

/ %/: 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

 

make内核提示:Makefile: *** 混合的隐含和普通规则。 停止。