Латексный Makefile не видит изменений во включаемых файлах - PullRequest
0 голосов
/ 17 августа 2011

У меня был шаблон Makefile для генерации моих латексных документов, но есть проблема, которую я не понимаю ...

Мой основной файл латекса включает другие файлы латекса, расположенные в ./include/. Дело в том, что всякий раз, когда я делаю изменение в одном из этих файлов, СДЕЛАЙТЕ, просто не видите его и не перекомпилируете.

Соответствующая часть Makefile такова:

DOC ?= report.tex
PDF := $(DOC:.tex=.pdf)

INCLUDES ?=

IMG_DIRS ?= img

IMG_FILES := $(wildcard $(IMG_DIRS)/*.svg $(IMG_DIRS)/*.png)

IMG_EPS := $(patsubst %svg, %eps, $(patsubst %png, %eps, $(IMG_FILES)))

all: pdf

pdf: $(DOC) $(INCLUDES) $(BIBLIOS) $(STYLES) $(IMG_FILES) $(IMG_EPS) $(PDF)

%pdf: %tex
    $(TEX) '$(PWD)/$<'
    $(BIB) '$(PWD)/$(shell basename $(DOC) .tex)'
    $(TEX) '$(PWD)/$<'
    $(TEX) '$(PWD)/$<'

$ (INCLUDES) - это зависимость для цели гривы, поэтому она должна перекомпилироваться. Я перепробовал множество конфигураций с одинаковым результатом.

Мне просто чего-то не хватает, благодаря мне просветить.

1 Ответ

1 голос
/ 17 августа 2011

Ваша переменная $(INCLUDES) расширяется до нуля (она пуста). Он должен содержать список файлов, включенных в .pdf.

Следующий код инициализирует его со всеми файлами .tex из каталога includes/:

INCLUDES := $(wildcard includes/*.tex)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...