【整理】make config,make menuconfig,make oldconfig,make xconfig,make defconfig,make gconfig

最后更新: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

有了上面基本解释,这下很容易理解这两个的区别了:

都是关于使用什么配置内容。

【待整理:添加此两种对比的表格】

参考资料:

1.The Buildroot user manual



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量