makefile文件格式

来源:互联网 发布:编辑图片大小软件 编辑:程序博客网 时间:2024/05/19 06:46

1、makefile文件内部

1.1、表达式

$^ :   所有源文件 ARM-GCC$@ :   全路径目标文件$? :   源文件$* :   除去扩展名全路径目标文件$< :   源文件(只在隐含规则中有效)$? :   依赖文件中被改变的文件$(@:_elf=) :   去掉目标文件中_elf字样%   :   表示字符通配符,一切字符
//以下程序.PHONY : cleanclean :    rm *.dis//通常情况下,若没有.PHONY : clean,那么程序只有在进行make clean的时候clean下的命令才会执行,而加上.PHONY : clean的时候,clean在每次make命令的时候就会运行,也即是给予clean一个假想的目标,并且该目标永远是处于更新状态,以此达到没有依赖文件也能每次进行make的目的
clean :    rm *.distags : clean    rm *.bin *.lib若执行make clean则只执行clean下面的语句,若执行make tags则先执行clean再执行tags
export XX XXX将XX XXX变量传递给子make,也可以用-e选项进行变量的传递
函数的调用:$(function argument)例如:$(hellow 1 2 3)immediate = deferredimmediate := deferredimmediate ?= deferredimmediate += deferreddefine immediatedeferredendef
:= ; 立即启用变量?= ; 若前面已经定义变量,此处不进行定义=  ; 变量在使用的时候才进行赋值 

2、链接文件

2.1、汇编源文件

ENTRY:运行一个程序时第一个被执行到的指令的入口地址,即指定汇编程序的入口

.type __lookup_processor_type, %function 用来说明标号__lookup_processor_type是一个函数

3、makefile常用函数

字符串查找替换$(subst <from>,<to>,<text>)把text中的from字符串替换为to字符串例:$(subst he,HE,hellow)把hellow中的he替换为HE模式查找替换$(patsubst PATTERN,REPLACEMENT,TEXT)TEXT中符合PATTERN格式的字符串统统替换为REPLACEMENT例:$(patsubst %.s,%.asm,list.s test.s)把list.s test.s替换为list.asm test.asm合并空格$(strip STRINT)把STRINT里面的多个连续空格合并为一个例:$(strip 1   2 3   4)返回为1 2 3 4字符串查找$(findstring FIND,IN)从IN里面查找FIND字符串,找到则返回FIND,否则返回空例:$(findstring he,hellow)该例子返回he字符串

更多请查看这里:http://download.csdn.net/detail/u013904227/9506313

0 0
原创粉丝点击