如何推广makefile?

时间:2014-06-23 20:49:12

标签: makefile

这是一个简单的makefile:

view: hello.dvi
    xdvi hello.dvi

hello.dvi: hello.latex
    latex hello.latex

输入'make'编译并显示我的乳胶文件。

假设我有几个不同的文件a.latex,b.latex等

我怎样才能让'make hello'构建并显示你好,'制作'构建并显示一个等等,而不必多次写出所有内容。

我可以制作它以便'make'重建并显示所有可用的内容吗?

我是否可以丢弃中间文件和日志文件,如果make成功则很少有兴趣?

1 个答案:

答案 0 :(得分:3)

GNUMake实际上有一个构建.tex文件的内置规则:

# default
TEX = tex

%.dvi: %.tex
#  recipe to execute (built-in):
    $(TEX) $<

然后,您可以编写自己的规则来构建.latex个文件:

%.dvi: %.latex
    latex $<

  

我怎样才能做到这一点,以便“打招呼”。建立和展示你好,制作一个&#39;构建并显示一个等,而不必多次写出所有内容。

你需要像这样的规则:

%: %.dvi
    xdvi $<

我可以制作它以便制作&#39;重建并显示所有可用的内容?

在其他规则的顶部添加all规则:

all: $(wildcard *.dvi)

总结一下,你的makefile现在看起来像:

all: $(wildcard *.dvi)

%: %.dvi
    xdvi $<

%.dvi: %.latex
    latex $<