makefile - 使用多个目标调用 make 的 Makefile
问题描述
我在生成文件中有一条规则,用于sox
将 wav 文件转换为另一种格式。
生成文件:
INPUTFILE?=file1.wav
OUTFILE=$(INPUTFILE:.wav=.s32)
wav_to_s32:
@sox $(INPUTFILE) -r 16000 $(OUTFILE)
我如何使这个工作在输入指定的多个文件(具有多个输出)?
INPUTFILE?=file1.wav file2.wav file3.wav
解决方案
我将在您的 makefile 中使用以下模式规则:
%.s32: %.wav
sox $< -r 16000 $@
.s32
上面的规则将从文件构建.wav
文件。
使用 makefile 中的该规则,您可以make
通过以下方式调用多个目标:
$ make foo.s32 bar.s32
sox foo.wav -r 16000 foo.s32
sox bar.wav -r 16000 bar.s32
它分别从和生成foo.s32
和。bar.s32
foo.wav
bar.wav
推荐阅读
- javascript - 从 API 结果导出 CSV 不适用于 Firefox JavaScript
- c# - 集成测试中的 MVC 策略覆盖
- wso2 - WSO2 ESB 启动错误 - H2 数据库无法删除行
- java - 在Java中递归地将数组中的对象与另一个对象相乘
- javascript - 评论中@前面的文字的目的是什么
- python - 如何在 python 中处理自定义 unicode
- php - 带有冒号 ( : ) 标点符号的 PHP 字符串中的算术运算
- java - Spark Java Streaming - 创建 Spark Java 数据集时出现空指针异常
- javascript - 我的javascript代码有什么问题-根据条件(存在另一个元素)删除HTML元素-初学者
- javascript - 如何在我的 Chrome 应用中使用 Javascript 检测 Chromebook 是否处于开发者模式?