gpt4 book ai didi

makefile - makefile 可以将目录作为目标吗?

转载 作者:行者123 更新时间:2023-12-02 02:19:34 25 4
gpt4 key购买 nike

我想说的是“只有当目录 yank/存在时,git 存储库的下载才会起作用。如果目录 yank/不存在,则创建它”

yank/gist.el/gist.el : yank
cd yank ; git clone http://github.com/defunkt/gist.el.git

yank:
mkdir yank

我正在使用 makepp - http://makepp.sf.net并收到错误:

[metaperl@andLinux ~/edan/pkg/gist.el] makepp
makepp: Loading makefile `/home/metaperl/edan/pkg/gist.el/Makeppfile'
makepp: Entering directory `/home/metaperl/edan/pkg/gist.el'
mkdir yank
mkdir: cannot create directory `yank': File exists
makepp: error: Failed to build target `/home/metaperl/edan/pkg/gist.el/yank' [1]
makepp: 0 files updated, 0 phony targets built and 1 target failed
[metaperl@andLinux ~/edan/pkg/gist.el]

但是如果 yank 目录存在的话,为什么它会尝试创建它呢? “源”已经创建...

最佳答案

是的,Makefile 可以将目录作为目标。

您的问题可能是 cd 没有执行您想要的操作:它执行了 cd 并且 git clone 是在原始目录(您 cd 的起始目录,不是cd 的目录)。这是因为对于 Makefile 中的每个命令都会创建一个额外的 shell。解决方法是运行 cd 并使用 shell 的 && 作为一个命令进行克隆。

这应该有效:

bla/f: dir
cd dir && touch f

dir:
mkdir dir

关于makefile - makefile 可以将目录作为目标吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3275449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com