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

make中的目标变量

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

    本文导语:  请问如果我这样定义AMSN变量 ,那么是不是应该会作为目标变量. 可以输出全是msn 请目标变量倒底应该怎么用..谢谢@@@ file: Makefile a:kk AMSN=msn foo1:k1 foo1:AMSN+=foo1 foo2:k2 foo2:AMSN+=foo2 k1:         @echo "${AMSN}" k2:      ...

请问如果我这样定义AMSN变量 ,那么是不是应该会作为目标变量. 可以输出全是msn
请目标变量倒底应该怎么用..谢谢@@@
file: Makefile
a:kk
AMSN=msn
foo1:k1
foo1:AMSN+=foo1
foo2:k2
foo2:AMSN+=foo2

k1:
        @echo "${AMSN}"
k2:     
        @echo "${AMSN}"
kk:k1 k2
        @echo "${AMSN}"

|
把Makefile修改为
a:kk
AMSN=msn
foo1:k1
foo1:AMSN+=foo1
foo2:k2
foo2:AMSN+=foo2

k1:
        @echo "${AMSN}"
k2:     
        @echo "${AMSN}"
#这里修改了 kk:k1 k2
kk:foo1 foo2
        @echo "${AMSN}"

就可以看到你要的效果了.

"目标指定的变量值只在指定它的目标的上下文中有效,对于其他的目标没有影响。就是说目标指定的变量具有只对此目标上下文有效的“局部性”。"

因此,foo1:k1 只对foo1为目标及以foo1为以来的下文中有效。

原Makefile中 kk:k1 k2 直接以k1,k2为目标,不属于foo1的上下文,因此目标变量没有生效。

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












  • 相关文章推荐
  • 有关make all; make clobber; make depend; make debug 的区别?
  • 我要缩减LINUX内核,make menuconfig时把一些选项去掉,再make dep没错,但再make bzImage时却会提错,但我make menuconfig时不改变任何选现(
  • 我已经用make clean编译成功了内核但是在make moduals时候处错误,然后又make menuconfig,我还需要make zImage吗?
  • make perl 模块的时候出错,make: *** No rule to make target,帮忙看看,谢谢。
  • 如何写出兼容于BSD MAKE、GNU MAKE、SOLARIS MAKE的条件编译Makefile?
  • 在solaris8.0我装了make3.81,下载了make-3.81-sol8-sparc-local.gz,为什么不能在任何目录下输入make?
  • 怎样验证自己的make是不是GNU的make?
  • 问一个很低级的问题:怎样卸载用make;make install方法安装的软件?
  • configure make make install 新手问题...
  • cygwin make操作,出现no rule to make target all
  • 请教 make gdb-6.4 出现 make[4]: Entering directory `/tmp/gdb-6.4/gdb/doc'
  • make zImage和make modules等问题请教~
  • debian下安装bind用./configure时提示安装bind时./configure提示whether make sets $(MAKE)... no
  • 第一次写make文件,报makefile:2: *** missing separator. Stop.错,make文件只有两行
  • make kernel make gcc
  • 50分的问题!make文件找不到? You don't seem to have 'make' or 'gmake' in your PATH
  • make;make install放在script裡
  • make oldconfig 和 make defconfig有何区别?
  • 求linux下 ./configure;make;make install一系列命令的详解
  • make -f makefile 时提示 Make: Must be a separator on rules line 5. Stop. 为什么,makefile 如下


  • 站内导航:


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

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

    浙ICP备11055608号-3