标签: makepp

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

我试图说"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目录存在?"源"已经创建了......

makefile makepp

17
推荐指数
2
解决办法
2万
查看次数

Makefile:依赖于目录的每个文件

我想做一个使用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或文件发现所有的目录.

makefile makepp

6
推荐指数
1
解决办法
7032
查看次数

标签 统计

makefile ×2

makepp ×2