最后更新:2013-09-09
【背景】
之前在对于内核配置时,或者是编译或配置其他(尤其是Linux下的开源软件的)情况中,常会遇到:
make config
make menuconfig
make xconfig
make gconfig
make oldconfig
make defconfig
等等。
下面就来总结一下,各自的区别。
make config
基于命令行的,文本式的,交互式的,对话式的,配置。
不太方便使用。
make menuconfig
基于菜单式的,属于带图形界面的,或者叫辅助图形界面,基于ncurses库。
方便使用
make xconfig
真正的,图形界面的配置,用到的是QT的库。
但是个人觉得界面效果也不是很好。
加上由于用到额外的图形库,所以用起来也不是那么的广泛。
make gconfig
也是图形界面。用到的是GTK的库。
make defconfig
调用默认的配置。
其和上面三个:make config,make menuconfig,make xconfig,不是一伙的。
其不是另外一种配置的方式。
而是(直接去)使用某个默认的配置,即和配置内容相关。
和使用何种配置方式(命令行,还是图形界面等等)无关。
make oldconfig
其使用old,旧的配置。
目的在于:尽量使用之前的配置(去用都当前的,新的,后者是别的内核或某软件的配置),以达到节省时间的目的。
后来,又在:
build configurations for the NuttX QEMU i486 port
看到有make oldconfig的用法:
4. cd <some-dir>/buildroot 5. cp configs/i486-defconfig-4.3.3 .config 6. make oldconfig 7. make |
很明显,其逻辑就是:
- 把旧的配置拷贝过来
- 然后使用make oldconfig实现(加载)使用当前.config这个旧的配置。
可参考的资料有:
What does “make oldconfig” do exactly – Linux kernel makefile
Kernel method: make menuconfig vs make oldconfig [UNSOLVED]
How to understand ‘make oldconfig’?
How to understand ‘make oldconfig’?
make config vs make menuconfig vs make xconfig
有了上面基本解释,这下很容易理解这三个区别了:
都是关于用什么形式,去配置。
【待整理:添加三种对比的表格】
make oldconfig vs make defconfig
有了上面基本解释,这下很容易理解这两个的区别了:
都是关于使用什么配置内容。
【待整理:添加此两种对比的表格】
参考资料:
转载请注明:在路上 » 【整理】make config,make menuconfig,make oldconfig,make xconfig,make defconfig,make gconfig