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

100分请教高手一个make文件依赖的小问题

    来源: 互联网  发布时间:2016-07-05

    本文导语:  以下make文件中: 第23行 all: Makefile $(SUBTARGETS)这里Makefile是依赖第43行,想请教: 1、如果没有第43行的话,是不是要有一个名为“Makefile”的文件? 2、如果既有第23行又有名为“Makefile”的文件 那么all规则依赖哪一...

以下make文件中:
第23行 all: Makefile $(SUBTARGETS)这里Makefile是依赖第43行,想请教:
1、如果没有第43行的话,是不是要有一个名为“Makefile”的文件?
2、如果既有第23行又有名为“Makefile”的文件 那么all规则依赖哪一个? 以哪一个为准?



1 #############################################################################
2 # Makefile for building: artoolkitplus
3 # Generated by qmake (1.07a) (Qt 3.3.4) on: Thu Apr 20 13:49:08 2006
4 # Project:  artoolkitplus.pro
5 # Template: subdirs
6 # Command: $(QMAKE) -o Makefile artoolkitplus.pro
7 #############################################################################

9 MAKEFILE = Makefile
10 QMAKE    = qmake
11 DEL_FILE =    rm -f
12 CHK_DIR_EXISTS= test -d
13 MKDIR    = mkdir -p
14 INSTALL_FILE= 
15 INSTALL_DIR = 
16 SUBTARGETS =  
17  sub-src 
18  sub-sample 
19  sub-tools
20 
21 first: all
22 
23 all: Makefile $(SUBTARGETS)
24 
25 src/$(MAKEFILE): 
26  @$(CHK_DIR_EXISTS) "src" || $(MKDIR) "src"
27  cd src && $(QMAKE) src.pro -o $(MAKEFILE)
28 sub-src: src/$(MAKEFILE) FORCE
29  cd src && $(MAKE) -f $(MAKEFILE)
30 
31 sample/$(MAKEFILE): 
32  @$(CHK_DIR_EXISTS) "sample" || $(MKDIR) "sample"
33  cd sample && $(QMAKE) sample.pro -o $(MAKEFILE)
34 sub-sample: sample/$(MAKEFILE) FORCE
35  cd sample && $(MAKE) -f $(MAKEFILE)
36 
37 tools/$(MAKEFILE): 
38  @$(CHK_DIR_EXISTS) "tools" || $(MKDIR) "tools"
39  cd tools && $(QMAKE) tools.pro -o $(MAKEFILE)
40 sub-tools: tools/$(MAKEFILE) FORCE
41  cd tools && $(MAKE) -f $(MAKEFILE)
42 
43 Makefile: artoolkitplus.pro  /usr/lib/qt3/mkspecs/default/qmake.conf 
44  $(QMAKE) -o Makefile artoolkitplus.pro
45 qmake: qmake_all
46  @$(QMAKE) -o Makefile artoolkitplus.pro
47 
48 all: $(SUBTARGETS)
49 qmake_all: src/$(MAKEFILE) sample/$(MAKEFILE) tools/$(MAKEFILE)
50   ( [ -d src ] && cd src ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
51   ( [ -d sample ] && cd sample ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
52   ( [ -d tools ] && cd tools ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
53 clean uicables mocables uiclean mocclean lexclean yaccclean : qmake_all FORCE
54   ( [ -d src ] && cd src ; $(MAKE) -f $(MAKEFILE) $@; ) || true
55   ( [ -d sample ] && cd sample ; $(MAKE) -f $(MAKEFILE) $@; ) || true
56   ( [ -d tools ] && cd tools ; $(MAKE) -f $(MAKEFILE) $@; ) || true
57 uninstall_subdirs: qmake_all FORCE
58   ( [ -d src ] && cd src ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
59   ( [ -d sample ] && cd sample ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
60   ( [ -d tools ] && cd tools ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
61 install_subdirs: qmake_all FORCE
62   ( [ -d src ] && cd src ; $(MAKE) -f $(MAKEFILE) install; ) || true
63   ( [ -d sample ] && cd sample ; $(MAKE) -f $(MAKEFILE) install; ) || true
64   ( [ -d tools ] && cd tools ; $(MAKE) -f $(MAKEFILE) install; ) || true
65 distclean: qmake_all FORCE
66   ( [ -d src ] && cd src ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
67   ( [ -d sample ] && cd sample ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
68   ( [ -d tools ] && cd tools ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
69 
70 install:  install_subdirs
71 
72 uninstall:  uninstall_subdirs
73 
74 FORCE:

|
1



2

23 行指定的是 all 的依赖规则,43 行指定是 Makefile 的依赖规则

这是两层,没有冲突

|
应该是

“Makefile” 的依赖是有更新,Makefile 文件更新没有作用

|
好长啊 等待高手给你解决吧 友情UP

|
如果用的是
make all
则会先执行43行, 然后执行 $(SUBTARGETS) 
如果用的是
make Makefile 则直接执行第43行

    
 
 

您可能感兴趣的文章:

  • 请教Fedora系统rpm安装的依赖问题
  • MAKEFILE自动生成依赖关系问题请教
  • 请教autoconf automake 在使用libtool情况下的依赖问题
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 请教高手:如何用gnome/gtk编写托盘程序
  • 请教各位高手一个简单的问题:在JAVA 中如何才能取得一些系统信息?
  • 请教curses的高手
  • #######菜鸟问题,请教高手,一定给分########
  • 如何在Linux上使用LoadLibrary()?高手请教!
  • 请教:Java高手读书之路
  • 请教高手:cpu占用经常100%怎么解决?
  • linux起不来了,请教高手,谢谢
  • 关于courier邮件服务器的配置问题,请教高手
  • 我的REDHAT 9。0刚装好,显卡不能正常显示,请教各位高手
  • 请教高手,如何将磁盘阵列mount上去??
  • 请教高手,关于vmware中linux的鼠标的问题
  • 请教高手在QT下怎样收串口数据
  • 请教高手,如何在VMware下安装suse10.0??请指教,谢谢。
  • 高手请教!linux怎样通过pid获取进程信息,如:进程名、进程状态等?
  • 请教solaris高手一个solaris安装问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题
  • 请教unix常用命令命令问题
  • 请教两个shell
  • 菜鸟请教Linux


  • 站内导航:


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

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

    浙ICP备11055608号-3