当前位置:  技术问答>linux和unix

如何通过自动生成的makefile 看各个文件的依赖关系

    来源: 互联网  发布时间:2017-01-21

    本文导语:  本帖最后由 fx397993401 于 2011-11-30 22:26:34 编辑 最近要看一个开源软件,结果 makefile 使用 automake 生成的,但是这个我看起来有点吃力,请问大家在看开源软件的时候 ,是如何下手的?有没有什么好的方法 ? 生成m...

本帖最后由 fx397993401 于 2011-11-30 22:26:34 编辑
最近要看一个开源软件,结果 makefile 使用 automake 生成的,但是这个我看起来有点吃力,请问大家在看开源软件的时候 ,是如何下手的?有没有什么好的方法 ?

生成makefile 的部分


pkgdatadir = $(datadir)/openpts
pkgincludedir = $(includedir)/openpts
pkglibdir = $(libdir)/openpts
pkglibexecdir = $(libexecdir)/openpts
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
target_triplet = i686-pc-linux-gnu
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am 
$(srcdir)/Makefile.in $(top_srcdir)/configure 
$(top_srcdir)/dist/openpts.spec.in 
$(top_srcdir)/dist/ptsc.conf.in 
$(top_srcdir)/dist/ptsv.conf.in ABOUT-NLS ChangeLog 
config.guess config.rpath config.sub depcomp install-sh 
ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) 
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log 
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d



makefile.in  的部分



@SET_MAKE@

#
# Makefile.am
#
# This file is part of the OpenPTS project.
#
# The Initial Developer of the Original Code is International
# Business Machines Corporation. Portions created by IBM
# Corporation are Copyright (C) 2010 International Business
# Machines Corporation. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the Common Public License as published by
# IBM Corporation; either version 1 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# Common Public License for more details.
#
# You should have received a copy of the Common Public License
# along with this program; if not, a copy can be viewed at
# http://www.opensource.org/licenses/cpl1.0.php.
#
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am 
$(srcdir)/Makefile.in $(top_srcdir)/configure 
$(top_srcdir)/dist/openpts.spec.in 
$(top_srcdir)/dist/ptsc.conf.in 
$(top_srcdir)/dist/ptsv.conf.in ABOUT-NLS ChangeLog 
config.guess config.rpath config.sub depcomp install-sh 
ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) 
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log 
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES = dist/openpts.spec dist/ptsc.conf dist/ptsv.conf
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive 
html-recursive info-recursive install-data-recursive 
install-dvi-recursive install-exec-recursive 
install-html-recursive install-info-recursive 
install-pdf-recursive install-ps-recursive install-recursive 
installcheck-recursive installdirs-recursive pdf-recursive 
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive
  distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) 
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS 
distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = 
  { test ! -d "$(distdir)" 
    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' 
         && rm -fr "$(distdir)"; }; }
am__relativize = 
  dir0=`pwd`; 
  sed_first='s,^([^/]*)/.*$$,1,'; 
  sed_rest='s,^[^/]*/*,,'; 
  sed_last='s,^.*/([^/]*)$$,1,'; 
  sed_butlast='s,/*[^/]*$$,,'; 
  while test -n "$$dir1"; do 
    first=`echo "$$dir1" | sed -e "$$sed_first"`; 
    if test "$$first" != "."; then 
      if test "$$first" = ".."; then 
        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; 
        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; 
      else 
        first2=`echo "$$dir2" | sed -e "$$sed_first"`; 
        if test "$$first2" = "$$first"; then 
          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; 
        else 
          dir2="../$$dir2"; 
        fi; 
        dir0="$$dir0"/"$$first"; 
      fi; 
    fi; 
    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; 
  done; 
  reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZI



|

顶2楼,看makefile的话有些依赖关系很复杂,还不如直接看源文件来的实在,清晰

|
看这个太复杂了,要是我的话,看文档,看源代码头文件包含关系,再分析。

|
依赖关系错综复杂,怎么能通过makefile来看呢...

直接看源码,从外围向内剖析,从核心向外扩散.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我想问一下,java生成的.class文件能不能通过某种工具生成.exe文件?
  • 怎么通过内核源码包生成源码树?
  • 通过shell解析文件,并根据解析内容生成新的文件。
  • 编译javac HelloWorld.java通过后生成class文件,但运行时总出现noclass错误!
  • android通过bitmap生成新图片关键性代码
  • mysql通过ssl的方式生成秘钥具体生成步骤
  • 怎样通过读取数据库,对前面的<select>的选择,动态生成后面一个<select>??急用!一定给分,
  • 请教如何通过循环生成控件?如何显示事件触发后生成的控件?可以这样写吗(见内)?谢谢!
  • java解析dbf之通过javadbf包生成和读取dbf文件
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • php通过socket_bind()设置IP地址代码示例
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 通过javascript库JQuery实现页面跳转功能代码
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • linux下通过crond实现自动执行程序
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • 通过docker commit命令保存对docker容器的修改
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • 通过docker run命令运行新的docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 通过docker ps命令检查运行中的docker镜像
  • Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
  • Session id实现通过Cookie来传输方法及代码参考
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • 通过docker search命令搜索可用docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • Python3通过request.urlopen实现Web网页图片下载
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3