Linux C语言C++ makefile文件编写
ps: 这里 不是很明白?尤其是 后面 三个变量,什么区别?
$@ 代表目标
$^ 代表全部依赖
$< 第一个依赖
$? 第一个变化的依赖
- makefile
makefile 命名规则makefileMakefile
makefile 三要素目标依赖规则命令
写法:
目标:依赖
tab键规则命令
可以定义变量 srcFiles=main.c jia.c jian.c cheng.c chu.c
变量的使用:$(srcFiles), $(变量名)
makefile隐含规则:默认处理第一个目标
函数:wildcard 可以进行文件匹配patsubst 内容的替换
makefile的变量$@ 代表目标$^ 代表全部依赖$< 第一个依赖$? 第一个变化的依赖
代码示例:
srcFiles=$(wildcard *.c)
objFiles=$(patsubst %.c, %.o, $(srcFiles))
headPath=./head
# 定义伪目标, 如果指向生成app1,就执行 make app1
all:app1 app2app1:$(objFiles)gcc $(objFiles) -o $@ -I $(headPath)app2:$(objFiles)gcc $(objFiles) -o $@ -I $(headPath)%.o:%.cgcc -c $< -I $(headPath) -o $@#.PHONY 防止目标有歧义
.PHONY:clean alltest:# - 的作用是 就算这行出错了,下面的也要继续执行# @的作用是 不显示输出-@echo $(srcFiles)echo $(objFiles)clean:rm -rf *.orm -rf app1 app2
执行指定的makefile
make -f makefile1
注意事项:
如果出现了 :*** missing separator. Stop.错误
在/etc/vim/vimrc 文件里面,添加这样一句
autocmd FileType make set noexpandtab
Linux C语言C++ makefile文件编写相关推荐
- 基础知识(三)makefile文件编写初级篇
linux下进行c++开发,需要熟悉相关编译器的编译.链接命令.这边主要以实例讲解,如何在linux中,进行c++程序简单的编译链接运行. 一.单文件编译链接 这里先从最简单的单个文件编译链接为例.在 ...
- 【Linux】对于make/Makefile的编写
本文目录 背景简介 细说关于make命令和makefile文件: 使用方法 为什么执行的指令是make和make clean呢? gcc如何判断文件是否需要重新执行? 背景简介 大家第一次写 hel ...
- SYNOPSYS VCS Makefile文件编写与研究
SYNOPSYS VCS Makefile文件编写与研究 这个Makefile是synopsys提供的模板,看上去非常好用,你只要按部就班提供实际项目的参数就可以了.我们来看这个文件的头部说明: ma ...
- linux C语言 对本地文件进行读写操作
linux C语言 对本地文件进行最简单读写操作 读取json文件 保存json文件 读取json文件 对本地以cjson格式保存的文本进行读取 /* 读取json文件 */ const char* ...
- Linux编程——入门级Makefile文件编写
前言 1.在Linux开发环境中,编写Makefile文件是一个必须的技能,虽然现在有好多IDE可以自动生成所需要的Makefile文件,但有时能看懂Makefile文件也是更好的了解项目的编译过程. ...
- 从简入难makefile文件编写,Linux C++编程,简单vi命令
1.一个最基本的C++程序 2.第二个c++程序 3.第一个入门级别的简单的makefile 4.在makefile中定义变量. 5.编写makefile的依赖 如果start:标识后面的某个. ...
- makefile文件编写教程
技术交流QQ群:1027579432,欢迎你的加入! 1.make介绍 gcc:编译器(gcc根据菜谱进行编译) make: linux自带的构建器(相当于一个菜谱) 构建的规则(菜谱)在makefi ...
- makefile文件编写_九图记住Makefile
本文首次编辑时间2020.07.20 最后编辑时间2020.08.03 欢迎转载,转载请附上原文链接 参考: GNU make说明文档:https://www.gnu.org/software/mak ...
- Linux 应用---make及makefile的编写
Make 在我们做linux 开发中是必不可少的一部分,它在我们编写大型项目工程文件中起到非常大的作用. Make工程管理器也就是个"自动编译管理器",这里的"自动&qu ...
最新文章
- 用shell编写的贪吃蛇游戏
- linux上传文件到服务器
- 关于Linux的前世今生(一)
- 空间异常即刻诊断,华为云数据管理服务DAS又出新招~
- jenkins 下载插件 一直失败_实用测试技能分享:jmeter+Jenkins性能测试自动化搭建...
- hdu4727搜索+stl。轻微剪枝
- Linux内核部件分析 记录生命周期的kref
- WIFI密码破解技巧---简单之成功率极高
- 哪有简明python教程下载_简明python教程在哪买!《简明python教程》 下载地址?
- linux bzip指定名称,Linux基础命令---bzip2
- 永恒之蓝——windows server 2003 漏洞
- flutter源码下载(最新)
- linux 命令行浏览网页
- 图谱实战 | ​鲍捷:知识图谱技术在金融领域的分析和应用
- SPSS实现快速聚类(K-Means/K-均值聚类)
- C语言查找奥运五环色的位置
- python双重for循环怎么理解_理解 Python 的 for 循环
- Proe/Creo窗口背景颜色定制
- 计算机硬件故障的相关知识,计算机硬件故障【计算机硬件故障的判断与维修】...
- 怎样做小游戏挖金子(VC,源码2)
热门文章
- 为别人软件加入广告或者密码(特别思路)
- unity json解析IPA后续
- 实战Java内存泄漏问题分析 -- hazelcast2.0.3使用时内存泄漏 -- 2
- 【C/C++开发】C语言实现函数可变参数
- 设计模式学习(三)——装饰器模式
- 关于手机端CSS Sprite图标定位的一些领悟
- 8-18-Exercise
- 根据数据库中的值用js设置RadioButtonList选中与否
- Gridview应用技巧——如何为行添加事件
- 输入参数的数目不足_sklearn.decomposition.PCA 参数速查手册