我下载了我想要对其进行一些更改的乳胶包,但是在这个包中存在文件 include.m4 我不知道它做了什么以及它是如何生成的。这里是它的行:
m4_changequote([[, ]])m4_dnl
m4_dnl
m4_define([[m4_FILE_INIT]], [[m4_dnl
%
% This is automaticaly generated file, do not edit it.
%
]])m4_dnl
m4_dnl
m4_define([[m4_FILE_ID]], [[m4_dnl
m4_patsubst([[$1]], [[\$Date::? \([0-9]+\)-\([0-9]+\)-\([0-9]+\).*]], [[\1/\2/\3]])m4_dnl
v[[]]m4_ESKDX_VERSION]])m4_dnl
m4_dnl
m4_define([[m4_FILE_DATE]], [[m4_dnl
m4_patsubst([[$1]], [[\$Date::? \([0-9]+\)-\([0-9]+\)-\([0-9]+\).*]], [[\1/\2/\3]])]])m4_dnl
m4_dnl
你能解释一下它是用什么工具生成的吗?
想。所以这个文件不是自动生成的?你能帮我理解Makefile中的这些行吗:
M4FLAGS = -P -Dm4_ESKDX_INIT="m4_include($(TOP_DIR)/include.m4)" \
-Dm4_ESKDX_VERSION=$(VERSION) -Dm4_ESKDX_DATE=$(RELEASE_DATE)
和规则:
%.def: %.def.in $(M4DEPS)
m4 $(M4FLAGS) $< >$@
%.sty: %.sty.in $(M4DEPS)
m4 $(M4FLAGS) $< >$@
%.cls: %.cls.in $(M4DEPS)
m4 $(M4FLAGS) $< >$@
正如我所看到的,GNU m4 选项“-D”将 .sty .cls 文件中的宏 m4_ESKDX_INIT 替换为 m4_include(../include.m4),然后选项“-P”首先扩展文件 include.m4 并进一步扩展包含中的宏。米4。