我只想编译与glibc附带的众多库中的一个。
也就是说,我所需要的只是图书库的静态版本(labt.a)。有什么方法可以告诉configure/make这样做吗?
现在,我已经设置了一个进程,在运行配置时设置特定的CFLAGS,然后编译整个glibc,然后在编译后只提取librt.a t.a--但这显然是99%的浪费和1%的产量。
编辑:
建议的命令make rt/librt.a生成
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运行的输出时,创建了如下所示
make subdir=rt -C rt ..=../ subdir_lib不幸的是,这个命令也没有产生好的结果:
$ 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之后,当我尝试建议的命令时,我得到了
$ make -j 4 rt/librt.a
make: 'rt/librt.a' is up to date.发布于 2017-01-09 18:06:12
glibc构建以objdir变量为中心。将其导出到运行配置的路径,然后可以在surce子目录中使用make。
例如:
cd .../glibc/
mkdir build
cd build
../configure --prefix=/usr
export objdir=$PWD
cd ../rt
make -j4发布于 2017-01-02 16:49:46
这应该可以做到:
mkdir build && cd build && ../configure $your_flags &&
make -j20 rt/librt.ahttps://stackoverflow.com/questions/41426318
复制相似问题