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

[makefile]几个看不懂的指令,请大虾指示

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

    本文导语:  发现以下几个符号,手头的资料 《跟我一起写makefile》 以及 《gcc中文手册》中都没有查到, 望高手指点 1。 $(ALL_DEPENDS):$(SRC_FILES)     $(CC) $(CPPFLAGS) -MM $^ -MT $(patsubst %.c,%.o, $> $@     //问题A: 这里的 -MT 是...

发现以下几个符号,手头的资料
《跟我一起写makefile》
以及
《gcc中文手册》中都没有查到,
望高手指点

1。
$(ALL_DEPENDS):$(SRC_FILES)
    $(CC) $(CPPFLAGS) -MM $^ -MT $(patsubst %.c,%.o, $> $@
    //问题A: 这里的 -MT 是什么意思呢?
    //问题B: 这里的 >>符号是什么意思?
2。
NOT_FILT_DEPENDS = $(SRC_FILES:.c=.c.d)
DEPENDS = $(filter %.d, $(NOT_FILT_DEPENDS))
#make执行时设置一个特殊变量“MAKECMDGOALS”,此变量记录了命令行参数指定的终极目标列表,没有通过参数指定终极目标时此变量为空。
ifneq ($(MAKECMDGOALS),veryclean)
ifneq ($(MAKECMDGOALS),clean)
#ifneq ($(DEPENDS), )
include $(DEPENDS)//问题C: include 一般是包含别的makefile文件,这里include .d文件是什么意思呢?
#endif
endif
endif

请各位老大不吝赐教

|
1。man gcc:
       -MT target
           Change the target of the rule emitted by dependency generation.  By default CPP takes the name of the
           main input file, deletes any directory components and any file suffix such as .c, and appends the
           platform’s usual object suffix.  The result is the target.

           An -MT option will set the target to be exactly the string you specify.  If you want multiple targets,
           you can specify them as a single argument to -MT, or use multiple -MT options.

           For example, -MT ’$(objpfx)foo.o’ might give

                   $(objpfx)foo.o: foo.c

2 输出重定向,追加到$@定义的文件中。
3 include后面什么文件名无所谓的,Makefile可以,include.d也可以,就是把文件include进来。

|
A:  这是gcc编译选项,什么多线程静态库还是什么什么的吧
B: 重定向啊,就是将输出写到后面的文件中
C: include任何文件都可以,这里的include.d文件应该是前面生成了,其中的内容应该是每个.c文件依赖的所有依赖文件了。

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












  • 相关文章推荐
  • Makefile.in,Makefile.am,Makefile.bor应该怎么用?
  • makefile.am和makefile.in是什么文件,与makefile有什么联系吗?
  • 最近在学习linux C 看到了makefile部分,觉得makefile的语法很难理解,Makefile 的语法是不是shell语法?
  • 求解makefile问题,makefile.conf的作用?
  • 从网上载了个C++程序的源代码,包含38个.cpp和.h,还有makefile.in和makefile.am两个文件,但无configure和makefile.请问怎么编译?谢谢!
  • 有makefile.am,有 makefine.in 为什么就是没有Makefile?
  • makefile如何调用文件目录下的makefile
  • 请教根据Makefile.am自动生成Makefile的问题
  • 怎麼樣使Makefile.in生成Makefile?
  • 【急!】一个程序里有好多文件夹里都有Makefile,如何找到最管用的makefile
  • 【makefile使用】请问怎样在shell中获取makefile的最终目标?
  • unix下面make makefile文件,提示“makefile is up-to-date",怎么办呀?
  • Makefile使用遇到的问题!"Makefile:3:missing the separator.stop"在线等待.......
  • Makefile是如何输出执行的路径的,表示执行的是那个Makefile
  • 下的tar.gz源码里只有makefile.in和makefile.am
  • 一句 makefile 的解释 -- makefile 与 shel 结合
  • linux makefile error :Makefile:335: *** commands commence before first target。
  • [test@localhost ~]$ cat <makefile >catfile 跟cat > catfile <makefile是一样的吧?
  • 关于makfile,makefile.in, makefile.am. configure之间的关系
  • win32下编译Linux 下的项目(makefile.am和makefile.in)


  • 站内导航:


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

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

    浙ICP备11055608号-3