【问题】
折腾:
期间, 去调用已有的默认的内核的配置,结果出错:CLi@PC-CLI-1 ~/develop/kernel/linux-2.6.19.1
$ make whgs_defconfig
Makefile:419: *** mixed implicit and normal rules. Stop.
如图:
【解决过程】
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: