需要帮助来理解这个 debian linux 的 make 文件

需要帮助来理解这个 debian linux 的 make 文件

我在 make 文件中有此代码但我无法获取它

CHECK=dpkg -L $1 2>&1 >$(NULL) || $(APT) install -y $1
install.dpkg.%:
    $(call CHECK,$*)

我想知道

  1. 我已经读过这$*意味着所有依赖项。这里它是否意味着%

  2. 这有dpkg -L什么用呢,对我来说,出游似乎毫无意义

答案1

问题 1: 我对 $* 不是 100% 确定,因为有太多变体。我通常使用 $@ 来选择目标,但也许 $* 更正确。

问题2: 关于你的问题 2,我可以说这是标准的 bash。调用

cmda || cmdb

(这是一个或语句)也可以理解为

if cmda doesn't succeed, then try to call cmdb and see if that will succeed

这意味着当你打电话时

dpkg -L $1 2>&1 >$(NULL) 

该结果将用于决定第二条命令

$(APT) install -y $1

应当执行。

所以,我相信这意味着,如果该程序未安装,请安装它!

相关内容