我正在尝试使用我的规则复制文件,但我的规则不会被触发:
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)
Run Code Online (Sandbox Code Playgroud)
我试图使用$(COPY_FILES)但它没有被触发,虽然$(BUILDDIR)和副本被触发.我不确定我的Makefile有什么问题.如果可能的话,我想让$(COPY_FILES)规则起作用(并删除副本).有谁知道吗?
Bet*_*eta 20
该$(COPY_FILES)规则的问题是该规则的目标是已经存在的两个文件,即code/xml/schema/schema.xsd和config.txt.Make看不到执行规则的理由.我不确定为什么Make不执行无论如何,[复制]一个坏规则.copy规则,但我怀疑有一个叫做copy混乱的文件.
试试这个:
COPY_FILES = $(BUILD_DIR)/schema.xsd $(BUILD_DIR)/config.txt
all: $(COPY_FILES)
$(BUILD_DIR)/schema.xsd: code/xml/schema/schema.xsd
$(BUILD_DIR)/config.txt: config.txt
$(BUILD_DIR)/%:
cp -f $< $@
Run Code Online (Sandbox Code Playgroud)