опция makefile для генерации латексной документации - PullRequest
0 голосов
/ 09 июля 2010

У меня есть проект, который может быть собран с помощью make-файла, и я хотел бы добавить возможность для кого-то в базовом каталоге не только иметь возможность собирать исполняемый файл с помощью make, но также создавать документацию в формате pdf изLaTeX в отдельном каталоге, набрав make docs или что-то подобное.
Мне нужен только один проход для генерации документации, и в файлах .tex нет зависимостей.
У меня нет опыта работы с рекурсивомmakefiles, поэтому любые общие ресурсы также будут оценены.

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

1 Ответ

2 голосов
/ 09 июля 2010

Я думаю, что вы легко можете указать команду для запуска Makefile в docs dir и запустить pdflatex -output-directory = DIR. Так что в итоге это выглядело бы примерно так:

В ваш Makefile верхнего уровня добавьте правило

  docs:  
      $(MAKE) -C doc all

Затем в doc dir вы можете добавить Makefile с правилом вроде

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