makefile 简单应用
来源:互联网 发布:mac 视频剪辑 水平调整 编辑:程序博客网 时间:2024/06/06 04:34
Makefile简单应用
(1).Makefile中最重要的组成部分是”规则“,
规则:用于说明如何生成目标文件,规则的格式如下:
targets:prerequisites
command
目标依赖 命令
特别提供:命令需要使用【tab】键空格。目标只有一个,依赖、命令可以有多个。
makefile中把那写只有命令,没有依赖的目标称为“伪目标”(phonytargets).
.PHONY:clearn
clrean:
rm-f hello main.o func.o
“.PHONY”将“clearn”目标声明为伪目标。
当makefile中有多条规则时,可以这样单独执行某条规则:make目标名。如果用户没有指定执行某一条规则,make会默认执行makefile中第一条规则,而第一条规则中的目标称为:最终目标。
(2).Makefile变量
1>用户定义变量
使用变量前:
app1:app1.o func1.o func2.o
gccapp1.o func1.o func2.o -o app1
app2:app2.o func1.o func2.o
gccapp2.o func1.o func2.o -o app2
使用变量后:
obj=func1.ofunc2.o
app1:app1.o $(obj)
gccapp1.o $(obj) -o app1
app2:app2.o $(obj)
gccapp2.o $(obj) -o app2
2>makefile中,用户除了自己定义变量之外。还可以使用存在系统已经定义好的默认变量。
$^:代表所有的依赖文件
$@:代表目标
$<:代表第一个依赖文件
使用前:
led.o:led.S
arm-linux-gcc-g -o led.o -c led.S
使用后:
led.o:led.S
arm-linux-gcc-g -o $@ -c $^
(3).makefile通用规则:
命令完全一样,目标名字和依赖名字仅仅是后缀的区别。如:
led.o:led.S
arm-linux-gcc-g -o $@ -c $^
main.o:main.S
arm-linux-gcc-g -o $@ -c $^
则所有满足这样条件的规则可以写成:
%.o:%.S
arm-linux-gcc-g -o $@ -c $^
这一条规则可以代替以上的两条规则。
(4).mkakefile使用技巧:
1>去回显:makefile中“#”字符后的内容被视做注释。
hello:hello.c
@arm-linux-gcchello.c -o hello
@:取消回显。
2>修改makefile名
make命令默认在当前目录下寻找名字为makefile或者Makefile的工程文件,当名字不为两者之一时,可以使用如下方法指定:make-f文件名
- Makefile的简单应用
- makefile 简单应用
- makefile 简单应用
- 2.6内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- 内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- 2.6内核Makefile简单语法与应用
- NetBSD 多文件编写makefile简单应用
- Linux下Makefile的简单应用
- linux2.6内核Makefile简单语法与应用
- Makefile文件在win32Asm中应用的简单写法
- 对于PowerDesigner中设计表自动生成Sql的分析
- php文件的操作
- mysql 插入无法提交
- mfc视图切换大全
- 串口接收后发送指定的数字
- makefile 简单应用
- poj 1063 最短路
- 菜鸟学习Struts——国际化
- 用frameset后网页间请求数据的传递
- Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)
- 【CareerCup】 Arrays and Strings—Q1.7
- 图文详解Linux/ubuntu安装cloudstack
- Segmentation fault(Core Dump)
- 交叉工具链的简单应用