viernes, 25 de agosto de 2017

Mi primera travesía ciclo turista: de Castellón a Santiago en bici

Introducción

Entre los días 12 y 20 de Agosto de 2017 completé los 1025Km que separan mi casa (Grao de Castellón) de la catedral de Santiago de Compostela, en bici. Hice el recorrido completamente solo y sin ningún vehículo de asistencia que me acompañara durante el viaje. Era la primera vez que hacía una travesía de larga distancia en bicicleta.


Este post va especialmente dedicado a todos aquellos deportistas/cicloturistas que quieren aventurarse en su primera travesía de larga distancia en bici. Tras completar mi larga aventura creo haber aprendido algunas cosas que me gustaría compartir con vosotros para tratar de mejorar vuestra primera experiencia.



Selección de la ruta

Lo primero es elegir la ruta que vas a seguir. Yo decidí ir a Santiago de Compostela desde mi casa en el Grao de Castellón, con una distancia total de 1025Km. El trac que me llevaba desde mi casa hasta Santiago de Compostela lo encontré buscando en wikiloc:

https://es.wikiloc.com/wikiloc/view.do?id=9623361

Desde aquí quiero dar las gracias a Tiberio, el creador de la ruta, ya que sin su trabajo creo que nunca me habría aventurado a ir en bici hasta Santiago.



Comprueba la ruta en tu GPS

Carga el trac en tu GPS y asegurate que el GPS es capaz de ver todo el trac y de navegar hasta el destino. Mi Garmin GPSMAP 62S no entendía bien ese trac y me llevé un buen susto, ya que me quedé tirado en Amusquillo (Valladolid) a mas de 400Km de Santiago de Compostela, en una carretera secundaria prácticamente intransitada sin pueblos cercanos. No os recomiendo vivir esa experiencia, al menos de manera involuntaria como fue en mi caso.



Estudia la ruta

Antes de iniciar la ruta hice mis deberes.



Me había preparado en una libreta un listado de todos y cada uno de los pueblos, poblados, ciudades, carreteras, kilometros totales y alturas, para usarlo como referencia en caso de duda. Gracias a esta libreta resolví el problema, pudiendo navegar desde Amusquillo hasta Ampudia sin GPS. El hotel rural de Ampudia no disponían de medios técnicos para solucionar mi problema, así que la siguiente etapa me tocó navegar hasta la Bañeza (León) con la libreta. Toda una proeza de navegación, os lo dice alguien capaz de perderse en su propia ciudad XD

En el hotel Ermitage, ubicado a la entrada de la Bañeza, a mano derecha, fue donde pedí ayuda y muy amablemente me prestaron un PC con conexión a Internet, con el que pude descargar un trac alternativo que me llevara a Santiago pasando por las mismas ciudades donde tenía reservados los hostales para dormir (Villafranca del Bierzo, Puertomarin y Santiago de Compostela).


Nunca os estaré lo suficientemente agradecido, a mis dos tocayos Ivan, por todo lo que hicísteis por ayudarme, por todas las molestias que os tomasteis, y con la amabilidad que lo hicísteis. Mil gracias y seguro que volveré por allí!!.


Planifica la ruta.

Una vez elegida la ruta, prepara las etapas que vas a realizar en función de tu condición física, de los desniveles, y del peso que vas a transportar en el portamaletas. Yo me planifiqué el viaje en 9 etapas de la siguiente manera:

    Etapa1: 12/08/2017 - 143km      - Castellón - Teruel
    Etapa2: 13/08/2017 - 138km      - Teruel - Ateca
    Etapa3: 14/08/2017 - 79km        - Ateca - Almazan
    Etapa4: 15/08/2017 - 113km      - Almazan - Aranda de Duero
    Etapa5: 16/08/2017 - 112.5km   - Aranda de duero - Ampudia
    Etapa6: 17/08/2017 - 127km      - Ampudia - La Bañeza
    Etapa7: 18/08/2017 - 107km      - La Bañeza - Villafranca del bierzo
    Etapa8: 19/08/2017 - 102.3km   - Villafranca del bierzo - Puertomarin
    Etapa9: 20/08/2017 - 97km        - Puertomarin - Santiago de Compostela

Las dos primeras etapas fueron palizones dignos de la vuelta ciclista a España, especialmente el primero, cargado con 12kg de alforjas, con un calor infernal y afrontando 2000m de desnivel acumulado, con pinchazo de la rueda trasera incluido. La tercera etapa (solo 79Km) me la tomé en plan recuperación, pero se subían bastantes metros de desnivel y a pesar de llegar temprano fue mas dura de lo esperado. Las siguientes cuatro etapas fueron bastante llanas, pero con viento frontal y transitando por autovías y por carreteras nacionales se me hicieron bastante duras. La octava etapa era a la que mas respeto le tenía, por la subida a O Cerbeiro, pero la etapa se complicó incluso mas de lo esperado, ya que terminé subiendo a 3 puertos de mas de 1000m.  Aunque sin duda esta etapa fue la mas bonita de todas, por el recurrido. La ultima etapa la deje mas corta a propósito, quería que la última fuera una etapa de mero trámite hasta llegar a Santiago, como así fue.



Alojamiento

Desde mi punto de vista es bastante importante dejar todo cerrado antes de salir de casa con la bici, para no perder tiempo de descanso buscando alojamiento o en el peor de los casos, quedarnos sin alojamiento porque el hostal del pueblo esta lleno y no existen alternativas. Podría haber optado por ir con tienda de campaña y saco de dormir. Pero al final decidí hospedarme en hostales, evitando de esa manera llevar la tienda de campaña y el saco de dormir para no cargar con mas peso del necesario. Quiero resaltar que yo peso 95Kg y llevaba unos 12Kg de equipaje, las bicis Trek suelen estar limitadas a un máximo de 120kg, por lo que en este viaje puse al límite la mecánica de la mía. Estos fueron los alojamientos reservados:

* Teruel: Hotel Civera
* Ateca: Hostal el Bodegon
* Almazan: Hostal Plaza Mayor
* Aranda de Duero: Hostal Rosales
* Ampudia: Hotel rural Villa y Corte
* La Bañeza: Hotel Mirador el Ermitage
* Villafranca del Bierzo: Hostal restaurante Mendez (el Guardia)
* Puertomarin: Pensión Perez
* Santiago de Compostela: Casa Celsa Barbantes

Disponer de una ducha y una cama cada día al finalizar la etapa para limpiarse bien, descansar y recuperarse del palizón de cada día me pareció bastante necesario. Cada cual en función de lo aventurero que sea que decida lo que considere oportuno. Yo decidí que dormir en una cama con acceso a un baño era lo recomendable.





Mecánica de la bici

Es necesaria una revisión general de la bici en la tienda de vuestra confianza. La mía es CICLESAB, la tienda oficial de TREK en Castellón. Como mínimo que os revisen frenos, cadena, pedales, engrase, cambios, cableado, y neumáticos.

Por descontado que en un viaje de tantos km vas a pinchar en alguna ocasión. Yo opté por llevarme 4 camaras nuevas de repuesto pero en la primera etapa pinche en Sarrión, a 35Km de Teruel, y en la cuarta etapa pinché de camino a Hortezuela, a 80Km de Aranda de Duero. Tras el segundo pinchazo pasé un mal día pensando que dos pinchazos mas me dejaban tirado en cualquier parte de la carretera y al ritmo de pinchazos que iba no llegaba a Santiago. Ese día opté por comprar un kit de reparación de pinchazos en una gasolinera y al llegar a Aranda de Duero reparé las dos ruedas que tenía pinchadas.

Aquí cometí mi primer error de novato. Cada pinchazo se convierte en un calvario para reparar: quita las alforjas, la maleta, los bidones de agua, el gps, etc.  Siguiendo los consejos que me dieron tanto el camarero del restaurante de Aranda de Duero como un cliente suyo (ambos muy aficionados a la bicicleta), para mi próxima travesía colocaré un spray antipinchazos en las dos ruedas antes de salir y como mucho llevar dos cámaras de repuesto por si alguna reventara e ir mas tranquilo.  De haberlo sabido me hubiera evitado perder tiempo innecesario reparando, disgustos si me llego a quedar sin repuestos, cargar peso innecesario, en definitiva, un viaje mas centrado en disfrutar y menos en los contratiempos.

Os hará falta comprar un portamaletas:



Al portamaletas BONTRAGER yo le añadí dos alforjas laterales ORTLIEB impermeables y una bolsa de equipaje superior BONTRAGER que encaja perfectamente en el portamaletas. Las alforjas son incomodas para andar sacando y metiendo cosas durante el día cada 2x3, así que todo lo que vayas a usar durante el día (comida, bebida) es mejor meterlo en la bolsa de equipaje superior, y en las alforjas el resto de las cosas que no vayas a utilizar hasta llegar a tu destino. Ademas compré una bolsa pequeña de BTWIN de estas que van colocadas en la parte superior del cuadro, a altura del manillar, para guardar el teléfono móvil, la GoPRO y la cartera con el dinero. Me resultó muy útil para grabar el vídeo de esta aventura, ya que era muy fácil acceder a la cámara sin parar y bajar de la bici.



Viaje de vuelta.

Es importante dejar cerrado el viaje de vuelta para evitar sorpresas. Intenté regresar con BlaBlaCar pero no encontré ningún conductor que se ajustara a mis horarios. Al final opté por volver con RENFE. Importante comprar  billetes de los que se pueden cancelar, por si algo sale mal durante el viaje y nos toca volver antes de tiempo. En mi caso compré dos billetes, el primero desde Santiago de Compostela a Chamartin (Madrid) y el segundo desde Chamartin (Madrid) hasta Castellón.




RENFE no deja subir las bicis en los trenes de larga distancia, por lo que la única solución para traer mi preciosa TREK a casa era enviarla de vuelta en una empresa de transporte. Llevé la bici a una oficina de Correos donde tenían consigna y ellos se encargan de empaquetarla y de transportarla hasta la ciudad de origen por un precio de 42.50€. Casualidades de la vida, el empleado de Correos que me atendió había vivido hasta los 18 años a escasos 500m de donde yo resido en Castellón, y vaya si conocía el restaurante 3 banderas! :D La bici regresó en perfectas condiciones.







Alimentación

Depende mucho de lo que te guste comer. Para pasar el primer día yo opté por llevarme un fuet y un buen trozo de pan, un paquete de avellanas, otro de nueces, un platano y una manzana. A partir de ahi, cada día toca buscarse la vida para ir comprando cosas que necesites por el camino. Yo siempre llevaba algo de fruta (siempre un platano y otra pieza de fruta), alguna lata de atún o caballa, y pan, porque hubo días donde no encontré bar para comer y me tocó subsistir con lo que llevaba encima.

No intentes cargar mucha mas comida porque al estar tantas horas bajo el sol, se estropea rápido, y no queremos cargar con algún kg de comida que al llegar al destino termine en la basura.

Almorzaba de la comida que llevaba cargada, y para la comida de mediodía intentaba comer en algún bar (un buen plato de pasta para cargar las pilas y algún filete de carne). Algunos días tuve suerte y encontré bar para comer. Otros pasadas las 15h seguía pedaleando sin encontrar un solo bar y me tocó subsistir con pan, fruta y frutos secos. En las cenas, siempre una buena ensalada y algún filete de carne roja, fruta de postre y una manzanilla con hielo (es un antiinflamatorio natural con lo que contribuye a recuperarte del esfuerzo físico).


















Hidratación

Es un tema complicado de decidir porque el agua pesa bastante y hay que transportarla durante muchos Km. Pero es imprescindible para poder completar el viaje con éxito sin tener serios problemas de desidratación. En mi caso, al tratarse de una travesía en verano a mas de 35ºC opté por transportar 3.3L de agua en total, distribuidos en dos bidones de 0.9L (accesibles desde el cuadro de la bici) y una botella de 1.5L (guardada en las alforjas). Cada vez que me bebía uno de los bidones de 0.9L empezaba a buscar un sitio para comprar otra botella de 1.5L y reponer. Mi consejo es que nunca te quedes con menos de 1L de agua, a no ser que estés muy cerca de llegar a tu destino.

Al sudar perdemos sales minerales que hay que reponer de alguna manera. Para reponer dichas sales yo me llevé dos tubos de pastillas de ISOSTAR pensando que serían suficiente y al final tuve que racionarlos.


Mejor llévate 4 que no pesan nada y son muy importantes para evitar los temidos calambres. En cada bidón de 0.9L metes una pastilla, y puedes andar tranquilo.



El sillín y el culotte

Para hacer una ruta cicloturista de muchos días, vais a pasar muchisimas horas sentados en la bici, por lo que es FUNDAMENTAL si no queréis averiguar el daño que pueden provocar los isquiones en vuestro trasero, que os compréis un buen sillín y un buen culotte, y que no os duela gastaros dinero porque será el dinero mejor invertido de todo el viaje.

Elegir un buen sillín no es tarea sencilla, ya que cada uno tenemos los huesos de la cadera de una manera diferente y hay que buscar el que mejor se adapte a vuestra estructura ósea. Yo elegí este de Bontrager:



Elegir un buen culotte tampoco es sencillo, preguntad en vuestra tienda de confianza,y dejaros aconsejar por un especialista. Yo cometí el error de comprar dos culottes baratitos de BTWIN (Decathlon) que tenían muy buena pinta, y no sabéis lo arrepentido que estoy. Pasé 8 días con un dolor en el culo insoportable. Las últimas etapas no aguantaba mas de 500m sin levantarme del sillín para que mi sufrido culo pudiera descansar de ese dolor insoportable, parecido a un pinchazo agudo continuo y que iba incrementando en intensidad hasta el punto de convertirse en algo insoportable, me volvía a levantar del sillín cuando no aguantaba mas, para que bajara de intensidad, y al volverme a sentar, vuelta a empezar.

Durante el víaje probe todo tipo de soluciones para intentar aliviar ese dolor. Una funda de gel para el sillín, descartada tras dos días de uso (en lugar de reducirlo, me incrementaba el dolor). Utilicé vaselina por si era un tema del roce con la piel. No surtió ningún efecto. Corté un trozo de la espuma de la esterilla y la ate al sillín como pude, para intentar hacerlo un poquito mas cómodo. Mala idea la mía, pues al alterar la geometría del sillín, me provoqué una pequeña tendinitis en la rodilla izquierda que me duró un par de días. Nada funcionaba y estaba desesperado. Mi sufrida madre me aconsejaba día tras día que abandonara el viaje, pero yo estaba dispuesto a sufrir lo que hiciera falta para llegar a Santiago.

El último día descubrí el problema del culotte que me compré. Resulta que los buenos llevan tirantes, pero los que yo había comprado, no. Nunca había caído en la cuenta de que esos tirantes ayudan a que el culotte no se mueva mientras pedaleas, y por tanto las espumas de protección se mantengan siempre en el sitio adecuado, para el que fueron diseñadas. Al no llevar tirantes, las espumas se movían y no estaban situadas en el punto exacto donde deben estar para proteger la musculatura del glúteo. Mis queridas posaderas andaron apoyadas directamente sobre el sillín, sin que la espuma hiciera nada por protegerlas. La solución (conclusión a la que llegué el noveno y último día), consistió en subirme el culotte "a lo cantinflas" xD por encima del ombligo, y al sentarme no noté ningún dolor. Pude pedalear unos 15 minutos antes de volver a sentir molestias. Paré, me volví a subir el culotte a lo cantinflas, y otra vez 15 minutos de pedaleo sin dolor. Y así llegué hasta Santiago de Compostela.



Ropa para el viaje

Hay que minimizarla para evitar llevar mas peso del necesario. Creedme, cada gramo cuenta.

Ropa de deporte opté por llevar dos culottes, dos pares de calcetines, dos camisetas de deporte, y unas zapatillas de running cómodas para pedalear. La ropa que usas durante el día la lavas al llegar al hotel y te cambias con la ropa limpia del día anterior. Durante la noche es posible que la ropa no se seque del todo, así que durante la parada del amuerzo o de la comida yo aprovechaba para dejar toda la ropa humeda al sol y que terminara de secarse.





Las zapatillas las sacas al balcón cada día para que se aireen.

En ropa de calle opté por llevar un pantalón tejano corto, un boxer, para salir a cenar y no tener que ir vestido de ciclista en los bares y unas chanclas de Decathlon, muy ligeras, que te permitan por un lado ducharte sin coger hongos en los pies (estoy seguro que no querrás descubrir cuanto duele un papiloma en la planta de tu pié). Y por otro lado, ayudan a airearse, lo que evitará que te salgan ampollas y llagas.

Al llegar a Santiago de Compostela me fui al Zara a comprar una camiseta para regresar como un turista, sin tener que ir disfrazado de ciclista todo el víaje de vuelta, y un cinturón para el pantalón, puesto que me caía (volví con algún kilito de menos jejeje).



Aseo y cuidados personales

Una exposición al sol durante muchas horas, durante muchos días te podría provocar quemaduras en la piel y generar dolorosísimas ampollas que estoy seguro que no quieres padecer. Para protegerte del sol utiliza una leche solar del factor mas alto posible. Es importante ponerla en todo el cuerpo, pero especialmente en la cara, en el cuello, en los hombros, en los brazos y en las piernas. Yo utilicé la leche solar BONTE de factor 50.



Es recomendable que te lleves una esponja que no pesan nada, para ducharte bien cada día y evitar las temidas llagas. La esponja una vez usada se puede secar perfectamente retorciéndola con fuerza envuelta en una toalla. Dudo mucho que encuentres algún hotel/hostal donde te den una. Por eso, mejor llevártela de casa.

Del mismo modo, la limpieza de la boca es absolutamente necesaria para evitar que te salgan molestas llagas en la boca, por lo que un cepillito de dientes y un tubito pequeño de pasta dentrifica son mas que recomendables. Y por supuesto utilizarlos al menos en un par de ocasiones al día (por la mañana antes de salir, y por la noche después de cenar). A pesar de todo, a mi terminó saliéndome una llaga en la boca, pero se curó en un par de días.

Por ultimo, para recuperar bien las piernas y estar al 100% al siguiente día yo hacía baños en la ducha combinando agua fría con agua caliente, a intervalos de 10s, 5 veces con cada pierna.  Después de la ducha me ponía CRIOGEL SPORT en las rodillas para enfriar los tendones y así evitar las tendinitis.



Ponía las piernas en alto (acostado en la cama con las piernas contra la pared) y descansaba entre 5 y 10 minutos en esa posición, para facilitar el retorno de sangre al corazón y que de esa manera se recupere antes la musculatura. Después utilizaba el Gel Corporal Aleo vera 100%, para ayudar a calmar y rehidratar la piel después de una exposición al sol tan prolongada.



Ya por último, hacía una sesión de estiramientos para evitar que mis músculos se quedaran contraídos durante la noche, y así evitar calambres al día siguiente. Todo esto me ayudó a empezar cada etapa con la sensación de no haber hecho deporte el día anterior.

Con todo, estaba listo para salir a cenar y darme un buen homenaje para recargar las pilas.



Listado definitivo material

El siguiente es el listado completo que utilicé para realizar una travesía en bici. Mucho ojo con adaptarlo después de leer el POST, porque repito, no es el listado que recomiendo, es el que yo usé.

Transporte:

    * Bicicleta TREK 4900 Disc de montaña
    * Portamaletas BONTRAGER
    * Alforjas laterales ORTLIEB
    * Maletín trasero BONTRAGER
    * Bolsa de herramientas debajo del sillín de BONTRAGER
    * Bolsa para manillar de BTWIN

Ropa:
    * Dos culottes BTWIN
    * Dos camisetas de running
    * Dos pares de calcetines BTWIN
    * Dos boxers ropa interior
    * Cortavientos impermeable BUFF
    * Pantalon impermeable BTWIN
    * Guantes SHIMANO
    * Chanclas ducha DECATHLON
    * Poncho lluvia XINORRIS

Mecanica:
    * 4 camaras de respuesto
    * Hinchador de BTWIN
    * 1 cable freno
    * 1 eslabon cadena
    * Toolkit de destornilladores y tronchacadenas
    * Navaja suiza

Electronica
    * GPS GARMIN GPSMAP 62S
    * Telefono movil + cargador
    * Camara GoPro
    * 8 pilas AA
    * 4 pilas AAA

Elementos seguridad:
    * Luz trasera sillin
    * Luz frontal minero
    * Casco
    * Gafas de sol

Comida y bebida
    * 2 botellines de agua 0.95L
    * 1 botella agua 1.5L
    * 2 pastillas ISOSTAR FLAVOUR SPORT DRINK
    * Media hogaza de pan
    * Avellanas y nueces
    * Manzana y platano
    * 1 Fuet

Aseo y cuidado personal:
    * Botiquin basico
    * Crema solar
    * ALVITA Gel Corporal Aloe vera 100%
    * CRIOGEL Sport
    * VOLTAREN antiinflamatorio
    * Gel manos
    * Cepillo dientes
    * Pasta dientes
    * Esponja de baño

Otros
    * Esterilla
    * Billetes tren regreso



Disfrutar del viaje

A estas alturas lo único que os falta es subir en la bici, empezar a pedalear, y disfrutar del viaje descubriendo sitios preciosos, y dejando que ocurran cosas imprevistas, que al fin de cuentas es de lo que se trata una aventura como esta.













Disfrutad de vuestro viaje y buen camino! Si os ha gustado este post, me hará mucha ilusión leer vuestros comentarios. Gracias por estar ahí y hasta una próxima ocasión!

domingo, 22 de enero de 2017

Introducción a las autotools

Si alguna vez has usado Unix como desarrollador, probablemente has instalado software invocando este conjuro mágico:



    $ ./configure
    $ make
    $ make install


Yo lo he usado muchas veces, pero en mis primeros tiempos usando Linux tampoco sabía que significaba esto exactamente. Solo sabía que si quería instalar software, era el conjuro que tenía que recitar.

Recientemente he pensado que sería buena idea empaquetar las herramientas Unix que desarrollo usando este proceso de instalación estándar que resulta familiar a muchos usuarios de Unix. Por tanto, es el momento de bucear en la magia de Unix y averiguar lo que hace este conjuro.






=== Los fuentes del proyecto ===

Vamos a ver como funciona todo este proceso, creando un proyecto "helloworld" basado en las GNU autotools, desde cero. La estructura de directorios habitual de tu proyecto, en general tendrá los siguientes directorios:

    fuentes         src/
    documentación   doc/
    paginas man     man/
    scripts         scripts/ (en general, código que se instala pero no se compila)

En este documento propongo esta estructura de proyecto:

    helloworld-1.0.0
        ├── doc
        │   └── README.md
        ├── man
        │   └── helloworld.8
        ├── scripts
        │   └── helloworld.sh
        └── src
            ├── main.c
            └── main.h

Puedes crear esta estructura creando estos directorios:

    $ mkdir -p helloworld-1.0.0/{doc,man,scripts,src}

Entra dentro del directorio raíz del proyecto

    $ cd helloworld-1.0.0/

Y crea todos los ficheros necesarios:

    $ touch doc/README.md
    $ touch man/helloworld.8
    $ touch scripts/helloworld.sh
    $ touch src/main.c
    $ touch src/main.h

Rellena los ficheros con los requisitos de tu propio proyecto.


=== Crear las distintas plantillas Makefile.am ===

La herramienta automake necesita un fichero Makefile.am en la raíz del proyecto, que será el punto de partida de todo el proceso. Editamos el fichero Makefile.am en la raíz del proyecto y le añadimos este contenido:

    $ cat Makefile.am
    AUTOMAKE_OPTIONS = foreign
    SUBDIRS = src doc man scripts

La linea AUTOMAKE_OPTIONS establece el layout del proyecto. La opción "foreign" significa que es un proyecto externo que no sigue el layout de GNU. Esta opción se usa habitualmente para evitar que aparezcan los mensajes de warning de GNU indicando que los ficheros del proyecto están organizados de forma distinta a lo esperado por el GNU coding standard.

La linea SUBDIRS muestra una lista de subdirectorios por los que debe continuar el trabajo de automake. automake entrará en cada uno de esos subdirectorios, buscando nuevos ficheros Makefile.am con los que trabajar. Vamos a preparar el fichero Makefile.am para cada uno de los subdirectorios indicados en SUBDIRS.

Creamos el Makefile.am para el directorio de los ficheros fuente. Este es el Makefile.am mas complicado, ya que los ficheros que referencia deben ser compilados por el compilador de C.

    $ cat src/Makefile.am
    # flags you pass to the C compiler & linker
    AM_CFLAGS = -W -Wall
    AM_LDFLAGS =

    # this lists the binaries to produce
    bin_PROGRAMS = main
    main_SOURCES = main.c main.h

La variable AM_CFLAGS define los flags que se pasarán al compilador, mientras que la variable AM_LDFLAGS define los flags que se pasarán al linker.

Las lineas que empiezan con el formato prefix_SUFFIX se componen de dos partes: un prefijo en minúsculas y un sufijo en mayúsculas. El sufijo "SUFFIX" indica qué debe hacerse con el argumento, y el prefijo "prefix" indica el directorio donde se instala. Por ejemplo, la linea bin_PROGRAMS instala los binarios listados en el directorio $(PREFIX)/bin y la linea sbin_PROGRAMS instala los binarios listados en el directorio $(PREFIX)/sbin.

Continuamos creando el Makefile.am para las paginas del manual:

    $ cat man/Makefile.am
    man_MANS = helloworld.8

El sufijo MANS indica a automake que se trata de manuales, que deben instalarse en el directorio adecuado.

Creamos ahora el Makefile.am para los scripts:

    $ cat scripts/Makefile.am
    bin_SCRIPTS = helloworld.sh

El sufijo "SCRIPTS" indica a automake que son scripts que deben ser instalados sin ser compilados.

Por último, creamos el Makefile.am para la documentación:

    $ cat doc/Makefile.am
    docdir = $(datadir)/doc/@PACKAGE@
    doc_DATA = README.md

Este código cambia el directorio por defecto para instalar la documentación. La variable @PACKAGE@ se expande al nombre del paquete. El significado de la variable $(datadir) (y de otras variables similares) lo puedes encontrar pinchando aquí:


=== Crear y customizar el fichero configure.ac ===

Ahora ejecuta autoscan, sin argumentos:

    $ autoscan

El comando autoscan genera un fichero configure.ac (la entrada de autoconf) realizando un análisis simple de los ficheros contenidos en el paquete. Tras ejecutar el comando, se generan dos ficheros nuevos:

    - autoscan.log
    - configure.scan

Renombra configure.scan como configure.ac:

    $ mv configure.scan configure.ac

Hay que realizar algunos ajustes a mano en el fichero configure.ac. Primero localiza esta linea dentro del fichero:

    AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])

Y cámbiala por lo que corresponda a tu proyecto:

    AC_INIT(helloworld, 1.0.0, al004140@gmail.com)

Para ejecutar las macros internas requeridas para el funcionamiento adecuado de los Makefile generados, añade esta macro en el fichero configure.ac, justo después de la macro AC_INIT:

    AM_INIT_AUTOMAKE

Por ultimo, borra todos los corchetes abiertos '[' y cerrados ']' del fichero.


=== Crear el script de configure ===

Tomando como entrada el fichero configure.ac, utiliza la herramienta aclocal para generar como salida el fichero de macros aclocal.m4:

    $ aclocal

Es necesario generar un fichero config.h.in para que el proceso continúe sin errores. Para ello, ejecuta la herramienta autoheader:

    $ autoheader

Expande las macros de aclocal.m4, generando el directorio autom4te.cache y el script configure. Para ello, ejecuta la herramienta autoconf:

    $ autoconf

El directorio autom4te.cache se usa para acelerar el trabajo de las herramientas autotools, y puede borrarse antes de liberar tu paquete a la comunidad. El script configure es el shell script invocado por los usuarios finales.


=== Crea los Makefile.in ===

La herramienta automake parte de los ficheros Makefile.am creados previamente. A partir de estos ficheros, genera unas plantillas Makefile.in que autoconf se encarga de traducir para generar el Makefile final. Ejecuta la herramienta automake para generar todos los Makefile.in a partir de los Makefile.am creados previamente:

    $ automake --add-missing


=== Configura, compila e instala ===

Los tres pasos que nos quedan para concluir el proceso son:

  1. Configurar la compilación del software
  2. Compilar el software
  3. Instalar el software compilado


1. Configurar la compilación del software

El script configure es responsable de preparar todo para compilar el software para tu sistema target. Se asegura de resolver todas las dependencias para el resto del proceso de compilación e instalación, averiguando todo lo que necesita saber para usar esas dependencias.

Los programas en Unix se escriben habitualmente en C, por lo que necesitamos un compilador de C. En estos casos, el script configure comprobará que tu sistema tiene en efecto un compilador de C instalado, averigua como se llama y en que directorio lo tienes instalado.

Configura la compilación del proyecto, lanzando el script del configure:

    $ ./configure

Este script hace dos cosas:

    * escanea las dependencias basándose en las macros AC_ indicadas en el
      configure.ac, mostrando un error apropiado si encuentra algo mal o
      que falte por instalar en el sistema.

    * por cada Makefile requerido en la macro AC_CONFIG_FILES, traduce la
      plantilla Makefile.in generada por automake en un paso anterior, para
      generar el Makefile final. El Makefile principal provee los target
      mas comunes como install, clean, etc.



2. Compilar el software

Una vez el script configure ha hecho su trabajo, habrá generado todos los Makefile, por lo que ya podemos invocar al comando make para compilar el software.

    $ make

Esto ejecuta una serie de tareas definidas en el fichero Makefile para compilar el programa a partir de su código fuente.


3. Instalar el software

Una vez que el software se ha compilado y esta listo para ejecutarse, los ficheros se pueden copiar en su directorio destino final. El comando make install copiará el programa compilado, librerías, ficheros .h de header y documentación, a los directorios adecuados. Para instalar los fuentes del proyecto en un directorio destino DESTDIR, haremos esto:

    $ make install DESTDIR=/path/to/tmp

Puesto que las tareas a realizar durante la etapa de "install" se definen en el Makefile, el directorio destino donde se instala el software se puede cambiar basándose en opciones pasadas al script del configure, o en cosas que el script de configure pueda averiguar sobre tu sistema.

Dependiendo del directorio de instalación, puede que necesites permisos de root para este paso para que puedas copiar ficheros a directorios del sistema. El truco aquí consiste en usar el comando sudo.



== Testear el binario ===

Prueba a ejecutar el binario generado:

    $ /path/to/tmp/usr/local/bin/main
    Hello World!

Como era de esperar, el proyecto muestra el mensaje "Hello World!".

Visitas:

Seguidores