lyx 的通用 makefile

lyx 的通用 makefile

我有一个包含许多 lyx 文件的文件夹。哪个 makefile 会自动从 abc.lyx 构建 abc.pdf?我更喜欢一种模式,这样我就可以分别处理每个 pdf 目标。我在网上没有找到可行的示例。

答案1

以下是完整的 Makefile:

abc.pdf: abc.lyx

.SUFFIXES: .lyx .pdf
# if lyx command fails, remove pdf
.lyx.pdf:
    lyx -e pdf4 "$<"
    ret_lyx=$$? ;\
    if [ "$$ret_lyx" != "0" ]; then \
      [ -f "$*.pdf" ] && rm "$*.pdf" ;\
    fi ;\
    exit $$ret_lyx

为了测试它,将上述内容放入文件“Makefile”中,并将其放入包含文件“abc.lyx”的目录中,然后运行“make”。以下输出说明了它的工作原理:

$ ls
abc.lyx  Makefile
$ make
lyx -e pdf4 "abc.lyx"
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./abc.tex
LaTeX2e <2019-10-01> patch level 1

ret_lyx=$? ;\
if [ "$ret_lyx" != "0" ]; then \
  [ -f "abc.pdf" ] && rm "abc.pdf" ;\
fi ;\
exit $ret_lyx
$ make
make: 'abc.pdf' is up to date.
$ touch abc.lyx 
$ make
lyx -e pdf4 "abc.lyx"
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./abc.tex
LaTeX2e <2019-10-01> patch level 1

ret_lyx=$? ;\
if [ "$ret_lyx" != "0" ]; then \
  [ -f "abc.pdf" ] && rm "abc.pdf" ;\
fi ;\
exit $ret_lyx
$ 

相关内容