设为首页 加入收藏

TOP

Makefile基本使用总结
2014-11-23 17:45:06 来源: 作者: 【 】 浏览:37
Tags:Makefile 基本 使用 总结

Makefile常识


1、Makefile是一个文件


2、功能: 用作整个工程的编译


Makefile基本用法


1、首先建立一个Makefile文件,写入内容告诉make命令如何编译和链接我们的文件


2、使用规则:


目标:依赖文件1 依赖文件2 //可以有多个依赖文件,"依赖文件"就是要编译的文件,"目标"就是要生成的文件


按TAB键 命令 //写上自己要执行的命令


*解释*:"依赖文件" 就是要编译的文件,"目标" 就是要生成的文件,生成该目标文件需要后面的依赖文件才可以


eg: main : main.c file1.o file2.o


gcc main.c file1.o file2.o -o main


file1.o: file1.c


gcc -c -o file1.o file1.c


file2.o:file2.c


gcc -c -o file2.o file2.c


*分析* :1) 上面一共有三个目标:main file1.o file2.o


2) 第2,3个目标借助 -c 只编译不链接生成的是二进制文件*.o


3) 用第1个目标把第2,3目标及主依赖文件main.c一块生成一个可执行的文件main


*总结*:1) 命令一定要按TAB键;


2) make默认执行第一个目标,因此第2,3目标用 -c 生成*.o的二进制文件而不生成可执行文件;


3) 执行make有作用,前提是该目录下没有对应的可执行文件或要编译的文件已经更改;


4) 不要一个目标依赖多个.c文件;


5) 当一行写不下时,可以用\来换到下一行写;


3、Makefile文件下面还可以添加 伪目标


伪目标:不是一个真正的文件名,但可以给该伪目标指定要执行的命令,之后 make + 伪目标 就能执行该命令


eg: clean :


rm *.o main


若执行 make clean 就可以把所有的*.o目标文件及可执行文件main一块删除


4、灵活使用变量简化操作


makefile常用变量: $^ 代表所有的依赖文件


$< 代表第一个依赖文件


$@ 代表目标


%.格式 代表所有该格式的文件(在vi替换命中令也使用了%代表所有)


eg:file:file1.o file2.o


gcc file1.o file2.o -o file


file1.o: file1.c


gcc -c -o file1.o file1.c


file2.o: file2.c


gcc -c -o file2.o file2.c


clean:


rm *.o file


用变量简化写法:


file: file1.o file2.o


gcc $^ -o $@


%.o: %.c


gcc -c $< -o $@


clean:


rm *.o file //命令可根据需求定义


*分析*:以后不管有多少个.c文件,都可以用上面的后两行表示,先生成二进制.o文件,之后可以选择哪个.o文件合成为一个执行文件。


5、在第二行命令前加上@,在make执行时会显示执行的命令


6、-o + 输出的文件名,对于它的位置放法,可以这样:当有编译选项时,放前面;没有,就放后边;


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用Keil4开发FL2440开发板 Keil4.. 下一篇GCC编译器使用方法技巧总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: