首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只编译glibc的部分

只编译glibc的部分
EN

Stack Overflow用户
提问于 2017-01-02 11:52:40
回答 2查看 1K关注 0票数 1

我只想编译与glibc附带的众多库中的一个。

也就是说,我所需要的只是图书库的静态版本(labt.a)。有什么方法可以告诉configure/make这样做吗?

现在,我已经设置了一个进程,在运行配置时设置特定的CFLAGS,然后编译整个glibc,然后在编译后只提取librt.a t.a--但这显然是99%的浪费和1%的产量。

编辑:

建议的命令make rt/librt.a生成

代码语言:javascript
复制
make -r PARALLELMFLAGS="" -C .. objdir=`pwd` rt/librt.a
make[1]: Entering directory '/data/soft/glibc-2.24'
make[1]: *** No rule to make target 'rt/librt.a'.  Stop.
make[1]: Leaving directory '/data/soft/glibc-2.24'
make: *** [Makefile:9: rt/librt.a] Error 2

当我查看完整make运行的输出时,创建了如下所示

代码语言:javascript
复制
make  subdir=rt -C rt ..=../ subdir_lib

不幸的是,这个命令也没有产生好的结果:

代码语言:javascript
复制
$ make  subdir=rt -C rt ..=../ subdir_lib
make: Entering directory '/data/soft/glibc-2.24/build-tree/rt'
make: *** No rule to make target 'subdir_lib'.  Stop.
make: Leaving directory '/data/soft/glibc-2.24/build-tree/rt'

有趣的是,在完成了make之后,当我尝试建议的命令时,我得到了

代码语言:javascript
复制
$ make -j 4 rt/librt.a
make: 'rt/librt.a' is up to date.
EN

回答 2

Stack Overflow用户

发布于 2017-01-09 18:06:12

glibc构建以objdir变量为中心。将其导出到运行配置的路径,然后可以在surce子目录中使用make

例如:

代码语言:javascript
复制
cd .../glibc/
mkdir build
cd build
../configure --prefix=/usr
export objdir=$PWD
cd ../rt
make -j4
票数 2
EN

Stack Overflow用户

发布于 2017-01-02 16:49:46

这应该可以做到:

代码语言:javascript
复制
mkdir build && cd build && ../configure $your_flags &&
make -j20 rt/librt.a
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41426318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档