组合makefile中文件名数组的路径

组合makefile中文件名数组的路径,makefile,gnu-make,Makefile,Gnu Make,我在Makefile变量中有一个文件列表。我用它来调用一些隐式规则 短裤: CHAPTERS_FOLDER = chapters CHAPTERS := $(CHAPTERS_FOLDER)/lesson1.Md $(CHAPTERS_FOLDER)/lesson2.Md [...] $(CHAPTERS_FOLDER)/lesson23.Md $(CHAPTERS_FOLDER)/%.Md : %.xml mkdir -p $(CHAPTERS_FOLDER) pando

我在Makefile变量中有一个文件列表。我用它来调用一些隐式规则

短裤:

 CHAPTERS_FOLDER = chapters
 CHAPTERS := $(CHAPTERS_FOLDER)/lesson1.Md $(CHAPTERS_FOLDER)/lesson2.Md [...] $(CHAPTERS_FOLDER)/lesson23.Md

$(CHAPTERS_FOLDER)/%.Md : %.xml
    mkdir -p $(CHAPTERS_FOLDER)
    pandoc -f docbook -t markdown_strict $< -o $@

$(CHAPTERS_FOLDER)/%.Md : %.odt
    mkdir -p $(CHAPTERS_FOLDER)
    pandoc -t markdown_strict $< -o $@
CHAPTERS\u文件夹=章节
章节:=$(章节文件夹)/lesson1.Md$(章节文件夹)/lesson2.Md[…]$(章节文件夹)/lesson23.Md
$(CHAPTERS_文件夹)/%.Md:%.xml
mkdir-p$(章节文件夹)
pandoc-f docbook-t降价$<-o$@
$(CHAPTERS_文件夹)/%.Md:%.odt
mkdir-p$(章节文件夹)
潘多克-t降价$<-o$@
有没有办法不必手动将
章节\u文件夹
添加到
章节
中的每个项目?类似于弦的笛卡尔积之类的东西


有没有更好的方法来设计这些规则来构建文件?

为什么不直接使用
addprefix

CHAPTERS = lesson1.Md lesson2.Md lesson3.Md ...

CHAPTER_TARGETS = $(addprefix $(CHAPTERS_FOLDER)/,$(CHAPTERS))
阅读手册的前几段,了解它们是在文件名列表上操作的,而不是在单个文件名上操作的