我试图说"git存储库的下载只有在目录yank /存在时才会起作用.如果目录yank /不存在那么就成功"
yank/gist.el/gist.el : yank
cd yank ; git clone http://github.com/defunkt/gist.el.git
yank:
mkdir yank
Run Code Online (Sandbox Code Playgroud)
我正在使用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]
Run Code Online (Sandbox Code Playgroud)
但是为什么它会尝试使yank目录存在?"源"已经创建了......
我想做一个使用gnumake或makepp运行的Makefile,它包含给定directiories下的所有文件:
DIRS:=$(shell find . -mindepth 2 -maxdepth 2 -not -name mp3 -not -name ".*" -type d)
PACKAGES = $(DIRS:%=%.npk)
all: packages
packages: $(PACKAGES)
%.npk: %/*
npack c $@ @^
.PHONY: all packages
Run Code Online (Sandbox Code Playgroud)
问题是依赖项中没有%/*这样的东西.我需要目标(X.npk)依赖于目录X中的每个文件,但是当我编写Makefile时我不知道文件是什么,因为它们是稍后生成的.
一个例子:
./dirA/x
./dirA/y
./dirB/e
./dirB/f
Run Code Online (Sandbox Code Playgroud)
我想创建./dirA.npk(取决于x,y),./dirB.npk(e,f)除了在第1行中使用的查找之外,我没有提前知道dirs或文件发现所有的目录.