前言
Makefile有一个经典教程,相信大部分人认识和学习Makefile都是通过这篇文章入手的:
不过之前和朋友聊,觉得这篇文章很完美但是篇幅有点长,同时教程以c语言编译环境为基础讲解,实际上比我们常用的编译环境还是要复杂挺多的;
感觉我们用不了这么多但是不学有怪可惜的,那么不如做一个极简版硅农专用的Makefile教程,本文内除vcs相关的内容外,基本所有信息均可以在上文中查阅(因此有引用部分就不在单独标注),属于n手资料吧~~~
指令和变量
当前目录如果存在Makefile或makefile文件时,那么代表我们能在这一文件夹内通过make xxx来执行命令,比如我们常用的仿真指令:
make run tc=sanity seed=0 wave=on ccov=on
或者lint检查指令:
make full_lint
Makefile中命令的组织极为简单,标准的形式为:
target ... :prerequisites ...
command ...
target为目标文件,prerequisites为依赖文件,command为执行命令,执行过程即在终端中的当前目录内键入 make target,则系统检查prerequisites内的文件