makefile的一些笔记
2017-05-23 23:13
19 查看
0.makefile文件可以命名为 makefile Makefile
0.1 makefile的格式:
targets : prerequisites
command
1.makefile 的命令一定要用【Tab】键
2.在命令和非命令行前加 “ - ” ,代表如果这里出错忽略,比如
-include foo.make 如果找不到也继续进行下去
clean:
-rm $obj 这是在命令之前,如果没找到obj文件也继续执行下去
但是尽量不要这么做,报错而又继续进行,那是很不好的。
3.第二中的clean是一种伪命令,由于clean在的位置比较特别,是一个文件的位置,有可能会被当做文件来对待,为了清楚,一般会像下面这样做:
.PHONY: clean
clean:
rm *.o temp
4.由于makefile文件的第一个会被当做默认目标,那要如何才能一次性生成多个目标,
通过以上的伪目标,我们就可以实现,像如下的做法:
all : prog1 prog2 prog3
.PHONY : all
prog1 : prog1.o utils.o
cc -o prog1 prog1.o utils.o
prog2 : prog2.o
cc -o prog2 prog2.o
prog3 : prog3.o sort.o utils.o
cc -o prog3 prog3.o sort.o utils.o
这样就可以生成三个最终的目标。其实可以看出目标可以成为依赖,伪目标也可以成为依赖
0.1 makefile的格式:
targets : prerequisites
command
1.makefile 的命令一定要用【Tab】键
2.在命令和非命令行前加 “ - ” ,代表如果这里出错忽略,比如
-include foo.make 如果找不到也继续进行下去
clean:
-rm $obj 这是在命令之前,如果没找到obj文件也继续执行下去
但是尽量不要这么做,报错而又继续进行,那是很不好的。
3.第二中的clean是一种伪命令,由于clean在的位置比较特别,是一个文件的位置,有可能会被当做文件来对待,为了清楚,一般会像下面这样做:
.PHONY: clean
clean:
rm *.o temp
4.由于makefile文件的第一个会被当做默认目标,那要如何才能一次性生成多个目标,
通过以上的伪目标,我们就可以实现,像如下的做法:
all : prog1 prog2 prog3
.PHONY : all
prog1 : prog1.o utils.o
cc -o prog1 prog1.o utils.o
prog2 : prog2.o
cc -o prog2 prog2.o
prog3 : prog3.o sort.o utils.o
cc -o prog3 prog3.o sort.o utils.o
这样就可以生成三个最终的目标。其实可以看出目标可以成为依赖,伪目标也可以成为依赖
相关文章推荐
- Makefile学习笔记4:Makefile的一些模板
- 一些乱七八糟的Makefile的笔记
- Makefile学习笔记---------自动化变量
- 时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell
- 【hadoop】Hadoop学习笔记(五):一些关于HDFS的基本知识
- cpp学习笔记 1一个简单的小程序以及一些的知识点
- java第5天的 课堂笔记 一些基本问题
- 时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell
- PYTHON:一些函数的使用笔记
- Linux学习笔记 - 一些常見的裝置代號
- Cordova学习笔记 angular 中一些标签的使用
- window对象中的一些重要的属性和方法(笔记)
- tensorflow一些函数用法笔记
- PS的一些小细节(笔记)
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 《学习opencv》笔记——关于一些绘图的函数
- 记录一些makefile 的规则、变量函数使用
- Linux的一些笔记
- egret笔记一些显示删除访问对象语句