|
garnome为想从源码编译gnome的朋友提供了极大的方便,现在的版是2.50, 是针对gnome2.3.3的,也就是说你用garnome2.5编译出来的就是gnome2.3.3。http://www.gnome.org/~jdub/garnome/download/
虽然garnome本身可以用make garchive来预先下载所有的包,但是是“所有”而不是”所需“。:)
为在了编译的同时,能不断的下载源码包,我写了一个脚本,用来在编译的同时下载所需的包 。把这个脚本放到gargnome-xxx/meta/下的任一目录下,比如你要编译gnome-desktop, 则把脚本放这目录下,你运行make install 后,就可以另起一个shell运行这个脚本了,
脚本的过程就是从gnome-desktop/Makefile中取出编译时所依赖的包的信息(LIBDEPS),其实就是garnome-**/gnome/某个目录, 然后在逐一进入目录, 运行make garchive. 就这么简单。
- #!/bin/bash
- echo "Start...."
- str=`grep LIBDEPS Makefile`
- #echo $str
- for d in $str; do
- if [ -d ../../$d ]; then
- echo ...$d
- cd ../../$d
- make garchive
- cd -
- else
- echo "Not dir, Canceled!"
- fi
- done
复制代码
还有个问题我还没解决,就是很多源码包解开后都有一个doc/reference/(..)html目录,html目录的上级目录中的Makefile 定义了这样一步:
- echo '-- Installing $(srcdir)/html/index.sgml' ; \
- $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
复制代码
而几乎每一个这样的操作都会产生错误,因为都没有index.sgml这样一个文件。 实在不知道应该怎样解决。 :) 我在garnome-**/gnome/Makefile文件里添加了
- if [ -d $(srcdir)/doc/reference/html/ ]; then
- touch $(srcdir)/doc/reference/html/index.sgml
- fi
复制代码
没有产生效果。:) 只好手动的touch一个index.sgml. 正想自动解决的办法ing............ |
|