我正在尝试使用我的规则复制文件,但是我的规则没有被触发:
BUILDDIR = build
COPY_FILES = code/xml/schema/schema.xsd config.txt
all: $(BUILDDIR) $(COPY_FILES) copy
$(BUILDDIR):
mkdir -p $@
$(COPY_FILES):
cp -f $@ $(BUILDDIR)
copy:
cp -f $(COPY_FILES) $(BUILDDIR)
我试图使用 $(COPY_FILES) ,但它没有被触发,尽管 $(BUILDDIR) 和 copy 被触发了。我不确定我的 Makefile 哪里出了问题。如果可能的话,我想让 $(COPY_FILES) 规则起作用(并删除 copy)。有人知道原因吗?
src/
目录中并且会定期更改,您会如何处理?例如,如果您无法明确列出需要复制的所有文件,而是使用$(wildcard)
构建它们,该怎么办? - PeterTCOPY_FILES := $(patsubst src/%,build/%,$(wildcard src/*))
,最终规则为$(BUILD_DIR)/%: $(SRC_DIR)/%
。 - Beta