linux下Makefile的简单例子及解释
2015-07-31 10:51
288 查看
http://www.cnblogs.com/lihaozy/archive/2012/08/09/2629706.html
对于大一点的项目,Makefile都是不可或缺的,这里记录一个自己弄的简单的例子。有3个file: main.cpp main2.cpp main2.h
main.cpp -- main函数所在,调用main2.cpp中的一个外部函数test()
main2.cpp -- test函数所在
main2.h -- test的函数声明
看一下三个文件:
//main.cpp #include <iostream> #include "main2.h" using namespace std; void test(); int main() { int a = 1; test(); }
//main2.cpp #include <iostream> #include "main2.h" using namespace std; void test() { cout<<"test in main2.cpp"<<endl; }
//main2.h #ifndef _MAIN2_H_ #define _MAIN2_H_ void test(); #endif
流程是:
main2.cpp -> main2.o
main.cpp -> main.o
main.o + main2.o -> main(可执行文件)
那么Makefile这样写:
main: main.o main2.o g++ -o main main.o main2.o main.o: main.cpp main2.h g++ -o main.o -c main.cpp main2.o: main2.cpp main2.h g++ -o main2.o -c main2.cpp clean: rm *.o main
其中g++所在的行,就是执行编译的命令。
其中带有冒号 : 的行,意思是如果冒号后面有文件更新了,那么就执行下一行g++命令更新冒号前的那个内容。冒号前的内容depend on冒号后的内容。
clean就是清除中间文件和最终文件。
相关文章推荐
- Linux用户模式和内核模式
- linux 压缩与解压总结
- Linux - 文件权限
- Linux - 文件权限
- linux常用命令
- 信号量、互斥体和自旋锁
- linux下发现可疑用户时处理办法
- linux普通用户使用root权限
- linux记录----date使用初记
- Linux服务器使用SSH的命令
- win10来了,linux你准备好了吗?
- 如何向 Linux 内核提交驱动
- linux笔记
- Linux下Qt开发环境的搭建
- 【Linux】反单引号``的用法,declare的用法
- Linux常用命令大全
- 使用磁盘为Linux添加swap
- 嵌入式linux之触摸屏驱动框架
- LINUX内核GPIO接口解析
- linux grep命令