Используйте autotools с README.md
Я использую autotools для библиотек, размещенных на GitHub. Вместо обычного текстового файла README
я хочу использовать README.md
.
При запуске automake
я получаю следующую ошибку
Makefile.am: required file `./README' not found
Можно ли сказать autotools, чтобы они не проверяли README
?
4 ответа:
Просто передайте опцию
foreign
в automake. Это говорит ему, что ваше программное обеспечение не соответствует типичным стандартам gnu, и, таким образом, пропуск README не является ошибкой. Как правило, это делается вconfigure.ac
:AM_INIT_AUTOMAKE([foreign])
Но это также можно сделать, назначив
AUTOMAKE_OPTIONS
в Makefile.am:AUTOMAKE_OPTIONS = foreign
Мы используем
README: README.md fgrep -v "[Build Status]" $< \ | markdown \ | html2text -style pretty -nobs \ | sed -e 's:>:>:g' \ > $@.tmp
Чтобы сгенерировать текст README из markdown README.md
Зачем просить его не искать ваш файл README, если он у вас уже есть? Он просто оказался в формате markdown и сохранен как README.md. если вы хотите, чтобы ваш файл README был идентичен вашему README.md файл, почему бы не связать с ним?
Из командной строки:
ln -s README.md README
Таким образом, вы можете сохранить свой README.md файл и любые инструменты, которые вы используете, по-прежнему будут работать со стандартными соглашениями об именовании. Говоря в скобках, весьма вероятно, что autotools позволяет вам указать пользовательский путь для вашего readme.
Простое решение, основанное на ответеfceller : единственное, что нужно, - это правило построения для
README
вmakefile.am
. Это правило может быть даже пустым. Поэтому просто добавьте следующую строку к вашемуmakefile.am
:README: README.md
Вот и все, теперь automake больше не жалуется, и вам не нужно объявлять свой проект как
foreign
.Это не нужно, но я предпочитаю более полное правило, я добавляю к
makefile.am
:README: README.md pandoc -f markdown -t plain --wrap=none $< -o $@ CLEANFILES = README
Но даже с этим правилом,
README
не строится, если вы явно вызовитеmake README
.