如果你想在Makefile里面直接写bash脚本,你需要做一些特殊处理,而不能直接粘贴复制你的bash脚本。如果你在target行后直接粘贴复制,你会遇到两个问题:
- 命令行要以tab为缩进
- $需要转义
如果你用gnu的make,你可以根据multi-line definition syntax来将你的脚本定义为一个变量,然后集合value
function来使用。
另外,你还需要告诉你的make将一个target作为一个shell, 而不是一行一个shell. 可参考defining a .ONESHELL
target.
下面,我们提到的这几个关键用法,进行讲解和实践
multi-line definition syntax
https://stackoverflow.com/questions/649246/is-it-possible-to-c