У меня есть make-файл для создания списков публикаций HTML для разных авторов из одного файла BibTex. Экспорт осуществляется с помощью bibtex2html и работает как шарм. Но я застрял в названии правила. Я хочу, чтобы makefile был как можно более общим, чтобы только адаптировать список результатов, когда начинается новый коллега, или кто-то заканчивает его кандидатскую диссертацию.Ошибка с статическим шаблоном
Последовательность действий следующая:
- bib.bib дается
- Извлечение публикаций из всех авторов в
results
в отдельные файлы: `bib2bib -c 'автор: "$ *"' нагрудник. bib ' - Теперь есть файлы для каждого автора, например нагрудник-Author1.bib, нагрудник-Author2.bib ...
- Преобразование файлов в HTML:
bibtex2html -d -r -o [email protected] [email protected]
- Теперь есть файл с именем нагрудник-Author1.html, нагрудник-Author2.html, ....
Вот текущий Makefile я застрял:
objects = bib-*.bib
results = Author1 Author2
.PHONY : clean cleanall all $(results)
.INTERMEDIATE : bib-*.bib
all : $(results)
$(results) : % : bib-%.html
bib-%.bib :
TMPDIR=. bib2bib -c 'author : "$*"' bib.bib
bib-%.html : %.html : %.bib
TMPDIR=. bibtex2html -d -r -o [email protected] [email protected]
#Left the clean and cleanall targets out to shorten the code snippet
Прямо сейчас я называю это Makefile с простым make
, который выполняет все цели. Это вызывает цель $(result)
, которая вызывает цель bib -%. Html для каждого автора в результате. И вот возникает проблема: когда вызывается, делайте остановки с ошибкой смешанных неявных и статических правил шаблонов.
Что я хотел сделать здесь, это взять имя правила со статическим шаблоном% .html и преобразовать его в предварительное условие% .bib. Но, видимо, я делаю что-то неправильно. Любая помощь оценивается.
только догадка: что 'сделать -rR' сказать? – reinierpost
Вы не можете иметь символ шаблона ('%') во всех трех частях правила статического шаблона. Мне не совсем ясно, чего вы пытаетесь достичь с помощью правила статического шаблона. Не могли бы вы немного расширить, представив пример некоторых имен файлов, к которым вы хотите применить это статическое правило? –
@ReinierTorenbeek Спасибо за ваш ответ. У меня есть следующий рабочий процесс: bib.bib. Извлеките публикации одного автора из bib.bib с помощью 'bib2bib -c 'author:" Authorname "' bib.bib'into файл с именем bib-Authorname.bib. Используйте этот файл в качестве входа для bibtex2html, чтобы преобразовать его в html, используя 'bibtex2html -o bib-Authorname.html bib-Authorname.bib' – PVitt