Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13289
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-14 14:03
文章分类
文章存档

2015年(1)

2014年(14)

我的朋友

分类: 项目管理

2014-04-14 16:06:45

原文地址:Makefile文件学习 作者:写自己的历史

1.在makefile中tab是命令的开始标志,tab后面的被当作命令执行。
   在vim编辑模式下组合“ ctrl + v + i ”来写入一个 tab键。
   http://blog.csdn.net/lianbch/article/details/6517396
2. 在makefile中打印警告或者错误消息的方法:$(warning xxxxx)或者$(error xxxxx)
    输出变量方式为:$(warning  $(XXX))

    这个和$(wildcard)一样的。
    http://blog.csdn.net/pendle/article/details/5870872 
3.makefile文件中变量默认为空,赋值为空的语句:
   x:=或x=
4.使用automake在64位Linux下编译32位C++程序
   CXX="g++ -m32" ./configure
   /usr/bin/ld: warning: i386:x86-64 architecture of input file `/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o' is incompatible with i386 output
 
5.$(addprefix,)
    名称:加前缀函数——addprefix。
    功能:把前缀加到中的每个单词后面。
    返回:返回加过前缀的文件名序列。
    示例:$(addprefix src/,foo bar)返回值是“src/foo src/bar”。
6.$(filter,)
    名称:过滤函数——filter。
    功能:以模式过滤字符串中的单词,保留符合模式的单词。可以有多个模式。
    返回:返回符合模式的字串。
    示例:
        sources:= foo.c bar.c baz.s ugh.h
        foo: $(sources)              
          cc $(filter %.c %.s,$(sources)) -o foo      
          $(filter %.c %.s,$(sources))返回的值是“foo.c bar.c baz.s”。
http://linux.chinaunix.net/techdoc/develop/2009/07/09/1122854.shtml
7.wildcard

使用:SRC = $(wildcard *.c ./foo/*.c) 

搜索当前目录及./foo/下所有以.c结尾的文件,生成一个以空格间隔的文件名列表,并赋值给SRC.当前目录文件只有文件名,子目录下的文件名包含路径信息,比如./foor/bar.c。
8.notdir

使用:SRC = $(notdir wildcard)

去除所有的目录信息,SRC里的文件名列表将只有文件名。

9.LOCAL_OVERRIDES_PACKAGES := AlarmClock

有这个说明是不让apk编译到系统。 即不生成apk到system/app下。


阅读(93) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~