2010-07-09 84 views
0

我有一个项目,可以通过生成文件,我想添加的人在基本目录的能力,不仅能够通过make建立可执行文件,而且还建立通过输入make docs或类似的东西,从LaTeX的文档pdf在单独的目录中。
我只需要一次传递来生成文档,并且在.tex文件中没有依赖关系。
我没有任何递归makefile的经验,所以任何一般资源也将不胜感激。makefile选项来生成乳胶文档

PS。我没有使用noweb或类似的系统,我只是有一些源文件和一些单独的.tex文件。

期望的行为:
$ ls
docs/
Makefile
source1.cpp
source1.h
source2.cpp
source2.h
$ ls docs
Makefile
doc1.tex
$ make
=我的程序被编译=
$ make docs
$ ls docs
Makefile
doc1.tex
doc1.pdf

+0

只需使用添加一个Makefile 'cd docs && startDocGenerator.sh'作为你的动作。规则终止后,chdir将被透明地撤消。 – 2010-07-09 14:16:50

+0

@Kilian:查看我对dcolish的回答的评论。 http://stackoverflow.com/questions/3213342/makefile-option-to-generate-latex-documentation/3213489#3213489 – 2010-07-09 14:31:20

回答

2

我认为你可以很容易地只指定一个命令,在文档目录执行的Makefile和运行pdflatex -output-directory = DIR。因此,它最终会看起来像这样:

在您的顶层Makefile中添加规则

docs: 
     $(MAKE) -C doc all 

然后文档目录里面,你可以用一个规则像

%.pdf: %.tex 
     $(PDFLATEX PATH) --output-dir=$(DIR) $< 
+0

问题不在于如何为我的文档编写makefile,也不是如何从命令行专门调用它。我想要的是基础目录的makefile识别我要求的是文档而不是可执行文件,并且它会根据需要运行其他makefile文件。 – 2010-07-09 14:30:30

+0

在顶层Makefile文件的命令: 文档: $(MAKE)-C文档所有 会做的伎俩,我已经修改了答案更加清晰 – dcolish 2010-07-09 14:36:10

+0

这也正是我想要的,谢谢。 – 2010-07-09 14:40:24