我有一个makefile,列出了我需要做的几个目录,例如
DIRS = dir1 dir2 path/to/dir3
all:
$(foreach DIR,$(DIRS), somecommand --source=$(SOURCEDIR)/$(DIR) --dest=$(DIR);)
clean:
rm -rf $(DIRS)
目前,clean
目标会移除dir1
,dir2
和dir3
,但我希望删除dir1
,dir2
和path
。有点像:
clean:
$(foreach DIR,$(DIRS), rm -rf --parents $(DIR);)
有一种简单的方法吗?
答案 0 :(得分:1)
rm
没有此类标志。你可以这样做:
clean:
$(foreach DIR,$(DIRS),rm -rf $(firstword $(subst /, ,$(DIR)));)
如果您完全确定要始终删除DIRs
中每个路径中第一个目录下的所有内容(对我来说很危险,但是......)