Chinaunix首页 | 论坛 | 博客

分类: LINUX

2011-01-25 11:20:04

工作环境: fedora14
目标平台:龙芯3210开发板
开发包内核源码目录:/home/linux_3210
开发包内核版本:2.6.18.1
交叉编译工具:gcc-3.4.6


用gcc-3.4.6交叉编译3210内核,执行make命令,会提示"*** 混和的隐含和普通规则。 停止。"的错误。这是由于fedora14的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 $@


                                                                                                                             lxy
阅读(3638) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~