工作环境: fedora19
目标平台:s3c6410
开发包内核版本:2.6.24
交叉编译工具:gcc-3.4.1
用gcc-3.4.6交叉编译6410内核,执行make命令,会提示"*** 混和的隐含和普通规则。 停止。"的错误。这是由于fedora19的Make工具对低版本内核Makefile一些旧的规则兼容不是很好,只需要修改一下开发包内核原码里的Makefile。对文件/home/linux_3210/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 $@
目标平台:s3c6410
开发包内核版本:2.6.24
交叉编译工具:gcc-3.4.1
用gcc-3.4.6交叉编译6410内核,执行make命令,会提示"*** 混和的隐含和普通规则。 停止。"的错误。这是由于fedora19的Make工具对低版本内核Makefile一些旧的规则兼容不是很好,只需要修改一下开发包内核原码里的Makefile。对文件/home/linux_3210/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 $@
本文介绍如何在Fedora19环境下解决使用gcc-3.4.1交叉编译s3c6410内核时遇到的混和的隐含和普通规则错误。通过修改内核源码中的Makefile来适配Fedora19的Make工具。
1591

被折叠的 条评论
为什么被折叠?



