删除路径中的所有目录

时间:2014-04-11 12:36:36

标签: makefile directory rm

我有一个makefile,列出了我需要做的几个目录,例如

DIRS = dir1 dir2 path/to/dir3

all:
    $(foreach DIR,$(DIRS), somecommand --source=$(SOURCEDIR)/$(DIR) --dest=$(DIR);)

clean:
    rm -rf $(DIRS)

目前,clean目标会移除dir1dir2dir3,但我希望删除dir1dir2path。有点像:

clean:
    $(foreach DIR,$(DIRS), rm -rf --parents $(DIR);)

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:1)

rm没有此类标志。你可以这样做:

clean:
        $(foreach DIR,$(DIRS),rm -rf $(firstword $(subst /, ,$(DIR)));)

如果您完全确定要始终删除DIRs中每个路径中第一个目录下的所有内容(对我来说很危险,但是......)