我在http://www.mail-archive.com/help-make@gnu.org/msg05201.html找到了一个很好的灵感,这让我开始前进。我自己的测试应用程序包含一个从 YouTube 下载的 WW2 时代 Jazz FLV 文件的目录和一个音频子目录,我想在其中存储每个文件的 OGA 音频版本。当然,文件名包含空格。然后我想运行 ffmpeg2theora 到
这是我一起破解的 GNUMake Makefile。感谢本网站以及上面引用的网站上的所有提示!
sq = $(subst $(sp),?,$1)
qs = $(subst ?,$(sp),$1)
e :=
sp := $(e) $(e)
FLVS := $(foreach file,var,$(call sq,$(wildcard *.flv)))
FLVS := $(subst .flv?,.flv ,$(FLVS))
AUDIOS := $(patsubst %.flv,audio/%.oga,$(FLVS))
.PHONY: audios show
audios: $(AUDIOS)
$(AUDIOS) : $(FLVS)
ffmpeg2theora --novideo -o "$(call qs,$@)" "$(call qs,$(notdir $(patsubst %.oga,audio/%.flv,$@)))"
show:
echo $(FLVS)
echo $(AUDIOS)