linux内核419,【已解决】Cygwin下配置Linux内核出错:Makefile:419: *** mixed implicit and normal rules. Stop....

【问题】

折腾:

期间, 去调用已有的默认的内核的配置,结果出错:CLi@PC-CLI-1 ~/develop/kernel/linux-2.6.19.1

$ make whgs_defconfig

Makefile:419: *** mixed implicit and normal rules. Stop.

如图:

c6ab033f1fd5cc277e81c7046167573b.png

【解决过程】

1.看起来,和之前折腾crosstool-ng时遇到的:

的问题类似,即:

make是3.82的,对于之前的make 3.81可以识别的混合的显式和隐式的语法,不支持了。

2.所以再次去确认一下,当前cygwin中的make的版本:CLi@PC-CLI-1 ~/develop/kernel/linux-2.6.19.1

$ make -v

GNU Make 3.82.90

Built for i686-pc-cygwin

Copyright (C) 2010 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

果然是3.82版本的。

3.所以解决办法就只能是:

要么是去修改Linux内核中的makefile -> 估计修改的地方很多,不止一处;

要么是把Cygwin中的make从3.82,换成旧的3.81的版本的。

此处为了省事,很明显,还是选择第二种。

4.所以,接着就是去Cygwin中,把3.82的make换成3.81的make:

5.把make换成3.81后,再去配置试试,然后就可以避免此处错误,可以配置了:CLi@PC-CLI-1 ~/develop/kernel/linux-2.6.19.1

$ make whgs_defconfig

HOSTCC scripts/basic/fixdep

【总结】

Cygwin下,交叉编译时,配置linux内核,出现:Makefile:419: *** mixed implicit and normal rules. Stop.

的错误的:

原因是:

cygwin下的make是3.82的,不识别之前旧的3.81的make可以识别的那个混合语法;

解决办法是:

把cygwin下的make从3.82换成3.81:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部