Makefile 是Linux系统中用来生成文件、整理和管理命令的配置文件。你可以这样理解,它就是一个key:value 的shell 命令(系统或者软件的命令)集合。你通过执行和管理key,来执行 value (shell命令)。
文章目录
Makefile 配置文件生成
一般我们会在项目跟目录下,直接新建一个名字叫做 Makefile 的文件,它没有文件后缀类型。
这样就生成了1个文Makefile配置文件。
Makefile 命令使用
Makefile 文件里的命令书写方式,类似于yaml。每一个命令规则,单独用一个区块表示,比如下面,就有好几个命令。
result.txt: source.txt
@echo "building result.txt from source.txt"
cp source.txt result.txt
source.txt:
@echo "touch source.txt"
echo '1222222' > source.txt
txt = hello world
test:
@echo ${txt}
@echo 11223
Makefile中每一个命令格式如下:
<target>: <prerequisites...>
<commands>
目标:前置条件(依赖)
TAB 命令
需要注意的是,命令前面必须加个Tab
键,不能用多个空格替代,不然会报错:
Makefile:2: *** missing separator. Stop.
另外有些编辑器,比如phpstrom
或者goland
等JB的编辑器,默认的Tab是有问题的,如果用来编写Makefile文件,会报错。所以,你可以直接用Vim来编辑,或者安装Makefile插件来解决Tab的问题。
"目标"是必需要申明的,不能省略;"前置条件"和"命令"都是可选的,但是两者之中必须至少存在一个。
如何运行
我们写好了Markfile文件,我们想去执行或者运行其中的一个target,如何运行呢?用make target
这样子来运行,比如:
make result.txt
make source.