我有一个代码
echo -e "\\n" "===== Making: $(@D)\n";\
if [ ! -d $(@D) ]; then \
mkdir $(@D); \
else \
if [ -e $(@D)\PackageBuild.error ]; then \
rm $(@D)\PackageBuild.error;\
fi; \
Run Code Online (Sandbox Code Playgroud)
我不确定这个@D在做什么。有人可以帮我吗
通常$(command)执行命令,并替换$(command)为命令的输出。因此,必须有一个名为@D的文件,该文件是可执行文件并且位于搜索路径中。
但是,如果这不是shell脚本,而是make文件,则意味着:
Run Code Online (Sandbox Code Playgroud)$(@D)目标文件名的目录部分,除去斜杠。如果值
$@是dir/foo.o则$(@D)是dir。.如果$@不包含斜杠,则为该值。