当前位置: 首页 > news >正文

Makefile基本指令

语法规则

目标 ... : 依赖 ...
	命令1
	命令2
	. . .

1、目标即要生成的文件。如果目标文件的更新时间晚于依赖文件更新时间,则说明依赖文件没有改动,目标文件不需要重新编译。否则会进行重新编译并更新目标文件。

2、默认情况下Makefile的第一个目标为终极目标。

3、依赖:即目标文件由哪些文件生成。

4、命令:即通过执行命令由依赖文件生成目标文件。注意每条命令之前必须有一个tab保持缩进,这是语法要求(会有一些编辑工具默认tab为4个空格,会造成Makefile语法错误)。

5、all:Makefile文件默认只生成第一个目标文件即完成编译,但是我们可以通过all 指定所需要生成的目标文件。

常用指令

  1. 获取系统名字:
    • UNAME := $(shell uname) 对于Linux,它可能返回"Linux",对于Mac OS,它可能返回"Darwin"
    • OSNAME := $(shell ver) 命令的输出是 “Microsoft Windows [Version 10.0.19041.867]”
  2. 打印输出变量 @echo “Flags: $(CFLAGS)”
  3. find . -maxdepth 10 -type d 从当前目录搜索所有子级目录(搜素深度为10级),-type d表示只查找目录。

报错以及解决

注意 win系统下要在vscode 中的git bash下进行编译。

  1. “XXX is up to date”问题的解决办法 删除曾经makefile生成的文件。

相关文章:

  • 『npm』一条命令快速配置npm淘宝国内镜像
  • Vue2面试题:说一下路由模式hash和history的区别?
  • JVM调优:参数(学习笔记)
  • vue表单输入绑定
  • 考研真题数据结构
  • 利用闭包与高阶函数实现缓存函数的创建
  • 如何部署自己的服务渲染页面为Pdf文档
  • Python:用python脚本,自动翻阅Andriod手机小说
  • EasyExcel处理表头的缓存设置
  • 如何处理好面试中的“压力测试”?
  • 全栈开发组合
  • 租一台服务器多少钱决定服务器的价格因素有哪些
  • cache教程 5.分布式节点的通信
  • 奥比中光 Femto Bolt相机ROS配置
  • 【经验分享】使用Ora2Pg迁移Oracle数据到openGauss
  • 理德外汇:美联储降息风潮没吹到欧洲,挪威更是意外加息
  • 计算机组成原理---浮点数的加减运算
  • FFmpeg之HWContextType
  • CommonJs模块化实现原理ES Module模块化原理
  • 2.cgal教程 Surface Reconstruction from Point Clouds
  • 欧盟公布关税反制清单,瞄准美国飞机、汽车等产品
  • 暴利之下:宠物殡葬行业的冰与火之歌
  • 硅料巨亏后弘元绿能割肉求生:逾12亿元内蒙古公司股权转让协鑫
  • 李干杰走访各民主党派中央和全国工商联机关
  • 马上评|不再提“智驾”,新能源车企回归理性
  • 数据中心业务今年预增50%,丹佛斯:中国是全球最重要的市场