当前位置: 首页 > 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生成的文件。
http://www.lryc.cn/news/260672.html

相关文章:

  • 爬取图片python代码
  • Android通过listview实现输入框自定义提示栏(代替AutoCompleteTextView自动完成文本框)
  • DA-AD试验
  • Leetcode—896.单调数列【简单】
  • vue2生命周期
  • 【Flink on k8s】 -- flink kubernetes operator 1.7.0 发布
  • Java网络编程,对使用UDP实现TCP(一)三次握手实现的补充
  • Redis 的常见使用场景
  • VRRP协议详解
  • Linux 常用命令----mktemp 命令
  • 基于ssm服装定制系统源码和论文
  • 【AI】如何准备mac开发vue项目的环境
  • BERT大模型:英语NLP的里程碑
  • JVM的类的生命周期
  • uni-app获取response header响应头(h5/app/小程序三端)
  • 本地部署语音转文字(whisper,SpeechRecognition)
  • js new 原理
  • 智能优化算法应用:基于黏菌算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • LeetCode每日一题——2132.用邮票贴满网格图
  • PyQt6 表单布局Form Layout (QFormLayout)
  • Python: any()函数
  • 一些AG10K FPGA 调试的建议-Douglas
  • 【模型量化】神经网络量化基础及代码学习总结
  • 次模和K次模是多项式可解吗?
  • 网络安全——SQL注入实验
  • 【cocotb】【达坦科技DatenLord】Cocotb Workshop分享
  • Kafka系列之:统计kafka集群Topic的分区数和副本数,批量增加topic副本数
  • 开具实习证明:在线实习项目介绍
  • MFC逆向之CrackMe Level3 过反调试 + 写注册机
  • 【Centos】