linux C编程 Makefile的使用
2024-09-30 19:59:11
Makefile的作用就是“自动化编译“
一、Makefile基本规则
下面给出几个简单实例:
第一步:分别用vim创建prog.c code.c code.h三个文件
prog.c
#include <stdio.h>
#include "code.h"
int main(void)
{
int i = 1;
printf ("myfun(i) = %d\n", myfun(i));
}
code.c
#include "code.h"
int myfun(int in)
{
return in + 1;
}
code.h
extern int myfun(int);
第二步:创建Makefile文件
$vim Makefile
test: prog.o code.o
gcc prog.o code.o -o test
prog.o: prog.c code.h
gcc -c prog.c -o prog.o
code.o: code.c code.h
gcc -c code.c -o code.o
clean:
rm -f *.o test
ps:Makefile的一般写法规则:
test(目标文件):prog.o cose.o(依赖文件列表)
tab(至少一个tab的位置,不是space)gcc prog.o code.o -o test
一个Makefile文件主要含有一系列的规则,每条规则包含一下内容:一个目标,即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如‘clean’;一个或多个依赖文件的列表,通常是编译目标文件所需要的其他文件。之后的一系列命令,是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,并以tab开头(初学者务必注意:是tab,而不是空格)
最新文章
- MySQL Cluster 7.3.5 集群配置参数优化(优化篇)
- Maven打包程序
- Mysql创建新用户后无法登录,提示 Access denied for user &#39;username&#39;@&#39;localhost&#39; (using password: YES)
- 全景VR视频外包公司:长年承接VR全景视频外包(技术分享YouTube的360全景视频)
- DDD:群里关于验证的结论
- 【BZOJ】2818: Gcd(欧拉函数/莫比乌斯)
- Linux下检查是否安装过某软件包
- Apache 编译安装
- JqueryMobile新手问题大全
- [DB][mybatis]MyBatis mapper文件引用变量#{}与${}差异
- Operating System 概述和学习图
- PHP访问接口获取数据
- Markdown软件推荐--Typora
- DUMP3 企业级电商项目
- Coursera, Deep Learning 1, Neural Networks and Deep Learning - week2, Neural Networks Basics
- 论文阅读笔记三十三:Feature Pyramid Networks for Object Detection(FPN CVPR 2017)
- Linux命令更新系统时间,更新所有文件的时间(转)
- mysql新建数据库、新建用户及授权操作
- Vue.js入门系列教程(二)
- Socket网络编程--聊天程序(5)