makefile demo
来源:互联网 发布:dota2 知乎 编辑:程序博客网 时间:2024/06/04 22:46
1. 最简单的makefile
假设编译器是gcc, 代码结构很简单, 源文件有main.c, test.h, test.c, 代码为:
/*file:test.h*/#ifndef TEST_H#define TEST_Hvoid func();#endif/*file:test.c*/#include "test.h"void func() { /*some codes*/}/*file:main.c*/#include "test.h"int main() { func(); return 0;}
makefile内容如下:
objects= main.o test.odemo:$(objects)gcc -o demo $(objects)main.o:main.c test.hgcc -c -o main.o main.ctest.o:test.c test.hgcc -c -o test.o test.c.PHONY:cleanclean:rm -f *.o demo生成demo可执行文件的命令为: make 或 make demo
2. 较大项目的makefile
较大项目的源文件很多, 为每个.o文件编写生成的规则, 会非常的麻烦, 将来新增或修改源文件的同时也要小心地维护makefile, 这样就带来了很多的不便. 利用make程序的自动推导功能和模式规则, 可以批量生成.o文件.
第一个例子的makefile可以改写为:
objects= main.o test.o%.o:%.cgcc -c $< -o $@demo:$(objects)gcc -o $@ $(objects).PHONY:cleanclean:rm -f *.o demo
执行命令: make demo, 以下为make的执行过程:
mjn@mjn-desktop:~/codes/makefile/demo$ make demogcc -c main.c -o main.ogcc -c test.c -o test.ogcc -o demo main.o test.o3. 跨平台项目的makefile
跨平台的代码, 可能被不同的编译器编译, 所以不能把编译器和选项写死在makefile中, 需要根据不同的系统来选择相应的编译器(Linux的gcc/g++, IBM AIX的xlc/xlC, HP-UX的aCC/aCC).
to be continue.
- makefile demo
- makefile demo
- makefile demo
- makefile demo
- c++ Makefile demo
- Makefile之写demo时的通用Makefile写法总结
- Makefile之写demo时的通用Makefile写法总结
- Makefile之写demo时的通用Makefile写法总结
- Makefile之写demo时的通用Makefile写法总结
- Makefile
- Makefile
- makefile
- makefile
- makefile
- Makefile
- Makefile
- Makefile
- Makefile
- 虚拟机centos6拷贝后eth0网卡丢失问题
- 毫秒转换成相应的格式
- Ubuntu下添加自启动任务
- Quartz 2D编程指南(5) - 变换
- OFBIZ启动加载初始化一
- makefile demo
- 快捷键
- php禁用不安全函数
- 明明白白c++ effective c++ 条目16-20
- Quartz 2D编程指南(7) - 阴影
- CTeX里面CTRL-Space和中文输入法的冲突问题解决
- 这些年的这些事
- ubuntu下定时执行工具cron开启关闭重启
- MST_prim