... UNAME = $(shell uname) ifeq ($(UNAME), windows32) MKDIR_COMMAND = if not exist $(BUILD_DIR) mkdir $(BUILD_DIR) else MKDIR_COMMAND = mkdir -p $(BUILD_DIR) endif all: $(PDF) $(PDF): $(TEX) $(STYLE) $(MKDIR_COMMAND) pdflatex -output-directory=$(BUILD_DIR) $(TEX) pdflatex -output-directory=$(BUILD_DIR) $(TEX) mv $(BUILD_DIR)/$(PDF) . ...
вторник, 9 ноября 2010 г.
LaTeX: единый Makefile для Windows и Linux
Бывает необходимо собирать документы LaTeX и на Windows и на Linux. За счет использования MiKTeX и GnuWin можно не беспокоится о платформозависимости, но остается один мелкий нюанс: создание директории для сборки командой mkdir. В linux'е она принимает ключ -p, позволяя создать несколько вложенных директорий за раз и не падать с ошибкой, если директория уже существует. В винде этот ключ рассматривается как имя папки и повторный запуск make'а прерывает сборку с ошибкой, что папка уже существует. Для решения этой проблемы нужно реализовать ветвление по типу ОС.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий