我想存储一些基本的m4宏,我通常在一个单独的文件(说mymacros.m4
)中使用,然后应用其中使用的宏在当前源文件上,我正在mydoc.pre.txt
这可能吗?在所有的m4教程中,我看到m4宏被存储在文件的顶部或与工作文档交错。因此,在命令行中,我想键入如下内容m4 -f mymacros.m4 mydoc.pre.txt > mydoc.post.txt
.
是否有m4的功能?
m4
提供include
和sinclude
宏(可能还有paste
,spaste
):
包括include宏的定义文本应该是由第一个参数命名的文件的内容。它如果文件不能被读取,将是一个错误。的如果不立即包含,则未指定行为后接左括号
sincludesinclude宏应该等同于include宏,除非它不应该是一个错误,如果文件不可访问。行为是未指定的,如果Sinclude后面没有紧接一个左-括号。
所以你可以把你的mymacros.m4
包含到你的m4
文件中:
include(`mymacros.m4')
您可以使用(如果您的m4
支持)m4
命令的-I
选项来添加目录以包含路径。