1.今天在按照韦东山大哥的教程流程编译内核的时候出现了这个问题:
linux-2.6.22.6/Makefile:416: *** mixed implicit and normal rules: deprecated syntax
linux-2.6.22.6/Makefile:1449: *** mixed implicit and normal rules: deprecated syntax
用vi打开Makefile,迅速定位到416和1449行。
今天在编译uImage的时候,执行make命令,报错,错误信息:416 “mixed implicit and normal rules”,翻译为中文:混合的和隐含普通规则。起初以为是内核包的问题,从官网上下载了低版本,报同样的错误,google后发 现,是由于我的系统的make工具太新,make的旧版规则已经无法兼容新版。按照以下方式,问题得到解决:
1在makefile中将416行代码
config %config: scripts_basic outputmakefile FORCE
改为
%config: scripts_basic outputmakefile FORCE
2在makefile中将1449行代码
/ %/: prepare scripts FORCE
改为
%/: prepare scripts FORCE
2 编译busybox-1.7.0出现如下错误:
分析原因:
新版Makefile不支持这样的组合目标:config %config(一个有通配符,另一个没有通配符)
解决方法:
要么把config %config拆成2个规则,要么把其中一个目标去掉。
所以,
a.修改busybox-1.7.0 顶层Makefile 405行:
config%config: scripts_basic outputmakefile FORCE
改为:
%config:scripts_basic outputmakefile FORCE
b.修改busybox-1.7.0 顶层Makefile 1242行:
/%/: prepare scripts FORCE
改为:
%/:prepare scripts FORCE