2012-01-12 2 views
3

У меня есть небольшой скрипт, который компилирует файл уценки в html и вставляет его в тело шаблона вместе с некоторыми таблицами стилей и javascript. У меня есть Makefile GNU для достижения этой цели:Цель Makefile с несколькими зависимостями

output.html: content.md compile.py style.css script.js 
    python compile.py < $< > [email protected] 

Когда я запускаю это я получаю ошибку:

make: * No rule to make target style.css', needed by output.html'. Stop.

Если удалить compile.py, style.css и script.js мишень запускается, но затем это больше не зависит от файлов, поэтому я могу внести изменения в style.css, и он не будет повторно запускать цель.

Все эти файлы находятся в том же каталоге:

my_project_directory/ 
    content.md 
    compile.py 
    style.css 
    script.js 

Как объявить все эти файлы как зависимостей, не вызывая ошибки?

ответ

1

Вы сказали, что output.html требует style.css, но файл style.css не существует в текущем каталоге, и вы не сказали, как его создать. Укажите реальное местоположение файла style.css (и других файлов), и зависимость будет работать.

+0

oh, но файл style.css существует в текущем каталоге. местоположения, указанные в списке зависимостей, верны относительно каталога Makefile. – aaronstacy

+1

Ваш скрипт компиляции, по-видимому, знает, как найти файлы, но make does not. Для этого сообщения об ошибке нет другой причины. –

+0

#facepalm. Благодарю. – aaronstacy

Смежные вопросы