Makefile学习笔记

发布时间:2026/9/14 20:19:14
Makefile学习笔记 Makefile⚠️ 注意在Makefile的规则中命令必须以Tab开头不能是空格。makefile的语句分为四类终端命令变量赋值判断条件依赖关系其他终端命令clean: rm -rf obj_dir rm -f wave.fst调用时用make clean即调用上面两条指令伪目标.PHONY: clean clean: rm -rf obj_dir rm -f wave.fst可用.PHONY: clean将clean定义为伪目标,make则不会把clean视为文件多条指令cd: pwd; cd ..; pwd;makefile中有改变文件的指令需要加;隔开写到一行,否则执行cd ..所在文件夹不会改变,cd: pwd; \ cd ..; \ pwd用\分成多行,更好看一点cd: cd .. pwd的作用是当某条指令失败时,后续指令不会执行控制打印加入执行make output时不会打印echo not displayoutput: echo not display echo will display加上-会忽略该指令的错误ignore_error: -rm zzz.txt echo ok变量赋值makefile可以给变量赋值,再通过$()调用VFLAGS --cc --exe --build -j 0 -Wall --trace --trace-fst SOURCES sim_t1.cpp t1.v sim: verilator $(VFLAGS) $(SOURCES)$()还有调用函数的用法$(call git_commit, sim RTL)可调用include用其他makefile的指令判断条件ifeq ($(DEBUG), 1) VFLAGS --cc --exe --build -j 0 -Wall --trace --trace-fst -g MSG 调试模式生成波形 else VFLAGS --cc --exe --build -j 0 -Wall -O2 MSG 发布模式不生成波形 endifDEBUG 1时,进行调试run: if [ -f ./obj_dir/Vt1 ]; then \ echo 找到可执行文件开始运行...; \ ./obj_dir/Vt1; \ else \ echo 错误请先执行 make sim 编译; \ exit 1; \ fi检测文件是否存在依赖关系固定格式为目标文件: 依赖文件1 依赖文件2 ...x.txt: m.txt c.txt cat m.txt c.txt x.txt其他make默认从第一条指令往下执行

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询