ps: 这里 不是很明白?尤其是 后面 三个变量,什么区别?
$@ 代表目标
$^ 代表全部依赖
$< 第一个依赖
$? 第一个变化的依赖

  1. 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文件编写相关推荐

  1. 基础知识(三)makefile文件编写初级篇

    linux下进行c++开发,需要熟悉相关编译器的编译.链接命令.这边主要以实例讲解,如何在linux中,进行c++程序简单的编译链接运行. 一.单文件编译链接 这里先从最简单的单个文件编译链接为例.在 ...

  2. 【Linux】对于make/Makefile的编写

    本文目录  背景简介 细说关于make命令和makefile文件: 使用方法 为什么执行的指令是make和make clean呢? gcc如何判断文件是否需要重新执行? 背景简介 大家第一次写 hel ...

  3. SYNOPSYS VCS Makefile文件编写与研究

    SYNOPSYS VCS Makefile文件编写与研究 这个Makefile是synopsys提供的模板,看上去非常好用,你只要按部就班提供实际项目的参数就可以了.我们来看这个文件的头部说明: ma ...

  4. linux C语言 对本地文件进行读写操作

    linux C语言 对本地文件进行最简单读写操作 读取json文件 保存json文件 读取json文件 对本地以cjson格式保存的文本进行读取 /* 读取json文件 */ const char* ...

  5. Linux编程——入门级Makefile文件编写

    前言 1.在Linux开发环境中,编写Makefile文件是一个必须的技能,虽然现在有好多IDE可以自动生成所需要的Makefile文件,但有时能看懂Makefile文件也是更好的了解项目的编译过程. ...

  6. 从简入难makefile文件编写,Linux C++编程,简单vi命令

     1.一个最基本的C++程序 2.第二个c++程序 3.第一个入门级别的简单的makefile 4.在makefile中定义变量. 5.编写makefile的依赖 如果start:标识后面的某个. ...

  7. makefile文件编写教程

    技术交流QQ群:1027579432,欢迎你的加入! 1.make介绍 gcc:编译器(gcc根据菜谱进行编译) make: linux自带的构建器(相当于一个菜谱) 构建的规则(菜谱)在makefi ...

  8. makefile文件编写_九图记住Makefile

    本文首次编辑时间2020.07.20 最后编辑时间2020.08.03 欢迎转载,转载请附上原文链接 参考: GNU make说明文档:https://www.gnu.org/software/mak ...

  9. Linux 应用---make及makefile的编写

    Make 在我们做linux 开发中是必不可少的一部分,它在我们编写大型项目工程文件中起到非常大的作用. Make工程管理器也就是个"自动编译管理器",这里的"自动&qu ...

最新文章

  1. 用shell编写的贪吃蛇游戏
  2. linux上传文件到服务器
  3. 关于Linux的前世今生(一)
  4. 空间异常即刻诊断,华为云数据管理服务DAS又出新招~
  5. jenkins 下载插件 一直失败_实用测试技能分享:jmeter+Jenkins性能测试自动化搭建...
  6. hdu4727搜索+stl。轻微剪枝
  7. Linux内核部件分析 记录生命周期的kref
  8. WIFI密码破解技巧---简单之成功率极高
  9. 哪有简明python教程下载_简明python教程在哪买!《简明python教程》 下载地址?
  10. linux bzip指定名称,Linux基础命令---bzip2
  11. 永恒之蓝——windows server 2003 漏洞
  12. flutter源码下载(最新)
  13. linux 命令行浏览网页
  14. 图谱实战 | ​鲍捷:知识图谱技术在金融领域的分析和应用
  15. SPSS实现快速聚类(K-Means/K-均值聚类)
  16. C语言查找奥运五环色的位置
  17. python双重for循环怎么理解_理解 Python 的 for 循环
  18. Proe/Creo窗口背景颜色定制
  19. 计算机硬件故障的相关知识,计算机硬件故障【计算机硬件故障的判断与维修】...
  20. 怎样做小游戏挖金子(VC,源码2)

热门文章

  1. 为别人软件加入广告或者密码(特别思路)
  2. unity json解析IPA后续
  3. 实战Java内存泄漏问题分析 -- hazelcast2.0.3使用时内存泄漏 -- 2
  4. 【C/C++开发】C语言实现函数可变参数
  5. 设计模式学习(三)——装饰器模式
  6. 关于手机端CSS Sprite图标定位的一些领悟
  7. 8-18-Exercise
  8. 根据数据库中的值用js设置RadioButtonList选中与否
  9. Gridview应用技巧——如何为行添加事件
  10. 输入参数的数目不足_sklearn.decomposition.PCA 参数速查手册