【发布时间】:2020-08-03 23:40:27
【问题描述】:
在我的项目中,我有一组包含package.yaml 文件的子目录,例如:
A/package.yaml
B/package.yaml
C/package.yaml
如果我运行hpack A/package.yaml,文件A/A.cabal 将(重新)生成。这些目录的列表会随着时间而改变,所以我想使用 GNU make 来查找所有包含package.yaml 文件的直接子目录,并使用 hpack 生成相应的.cabal 文件。
我根据another question 尝试过这个,但没有奏效:
HPACK_FILES := $(wildcard */package.yaml)
PKG_DIRS := $(subst /,,$(dir $(HPACK_FILES)))
CABAL_FILES := $(addsuffix .cabal,$(join $(dir $(HPACK_FILES)),$(PKG_DIRS)))
test:
@echo $(CABAL_FILES)
update-cabal: $(CABAL_FILES)
%.cabal: package.yaml
hpack $<
但是,make update-cabal 表示无事可做。 make test 但是确实输出了正确的 cabal 文件。我该如何解决这个问题?
干杯!
【问题讨论】: