Usa autotools con README.md
github (4)
Estoy usando autotools para las bibliotecas alojadas en GitHub. En lugar de usar un archivo de texto README
normal, quiero usar README.md
.
Al ejecutar automake
, me sale el siguiente error
Makefile.am: required file `./README'' not found
¿Es posible decirle a autotools que no verifique README
?
¿Por qué pedirle que no busque su archivo README cuando ya tiene uno? Simplemente sucede que está en formato de reducción y se guarda como README.md. Si desea que su archivo README sea idéntico a su archivo README.md, ¿por qué no lo vincula?
Desde la línea de comando:
ln -s README.md README
De esa manera, podrá conservar su archivo README.md y todas las herramientas que utilice seguirán funcionando con las convenciones de nomenclatura estándar. En términos parentéticos, es muy probable que las autotools le permitan especificar una ruta personalizada para su readme.
Estamos usando
README: README.md
fgrep -v "[Build Status]" $< /
| markdown /
| html2text -style pretty -nobs /
| sed -e ''s:>:>:g'' /
> [email protected]
para generar un texto README desde el markdown README.md
La solución simple, basada en la respuesta de pn : Lo único que se necesita, es una regla de compilación para README
en makefile.am
. Esta regla puede incluso estar vacía. Tan solo agrega la siguiente línea a tu makefile.am
:
README: README.md
Eso es todo, ahora automake ya no se queja, y no necesita declarar su proyecto como foreign
.
No es necesario, pero prefiero una regla más completa, la agrego a makefile.am
:
README: README.md
pandoc -f markdown -t plain --wrap=none $< -o $@
CLEANFILES = README
Pero incluso con esta regla, README
no se README
menos que se llame explícitamente a make README
.
Solo pasa la opción foreign
para automake. Esto le indica que su software no cumple con los estándares típicos de gnu, y por lo tanto, omitir README no es un error. Típicamente, esto se hace en configure.ac
:
AM_INIT_AUTOMAKE([foreign])
pero también se puede hacer asignando AUTOMAKE_OPTIONS
en Makefile.am:
AUTOMAKE_OPTIONS = foreign