The GNU Make Book РConstruir automatización

4.1 (82.08%) 144 votes


Adem√°s de escribir sobre Linux y escribir rese√Īas y tutoriales sobre distribuciones y herramientas, tambi√©n estoy muy involucrado en el desarrollo de software. Desafortunadamente, el 99,9% de ese desarrollo de software tiene lugar en la plataforma Windows.

Tengo m√°s de 20 a√Īos de experiencia como desarrollador de C++, Visual Basic, VB.NET, y C# y tambi√©n soy un experto en SQL Server como DBA y como desarrollador.

En lo que no soy muy bueno es en desarrollar software para Linux. Es algo con lo que nunca me he molestado. La raz√≥n principal es que despu√©s de desarrollar software durante el d√≠a lo √ļltimo que quiero hacer es sentarme a escribir m√°s software.

Obviamente me gusta jugar con los guiones y escribir un peque√Īo programa. Estos son generalmente para proyectos electr√≥nicos basados en el PI Frambuesa.

Una de las cosas con las que muchos desarrolladores en la plataforma Windows tendr√°n problemas cuando se trasladen por primera vez a Linux es aprender sobre las herramientas necesarias para crear y empaquetar aplicaciones.

El tipo de aplicación más fácil de desarrollar son las aplicaciones web porque generalmente no requieren código compilado (PHP, Perl, Python) y los archivos se despliegan en un lugar fijo en el servidor web.

Un gran n√ļmero de aplicaciones construidas para Linux se desarrollan usando C, C++ o Python. Compilar un solo programa en C es relativamente f√°cil, pero cuando se necesita compilar un n√ļmero de programas en C con m√ļltiples dependencias las cosas se ponen un poco m√°s complicadas.

GNU Make es una herramienta de creación de scripts de automatización que le ayuda a compilar sus aplicaciones una y otra vez y de diferentes maneras. Por ejemplo, puede proporcionar un parámetro que, dependiendo del valor, compilará una aplicación utilizando 64 o 32 bits.

El libro de GNU Make ha sido escrito por John Graham-Cumming para ayudar a los usuarios de GNU Make a comprender mejor las complejidades asociadas con GNU Make.

El libro está dividido en seis capítulos:

  1. Lo B√°sico Revisado
  2. Depuración de Makefile
  3. Construcción y reconstrucción
  4. Trampas y problemas
  5. Empujar el sobre
  6. La biblioteca est√°ndar de GNU

No creo que el libro est√© realmente dirigido a principiantes porque carece de ciertas aclaraciones que se podr√≠an esperar al aprender un nuevo tema como “¬ŅQu√© es GNU Make? y c√≥mo crear un archivo Make”, “¬ŅPor qu√© es mejor usar Make que compilar cada programa uno por uno? Todas estas √°reas tem√°ticas est√°n cubiertas en el manual de GNU Make.

El hecho de que el primer cap√≠tulo se llame “The B√°sico Revisited” en contraposici√≥n a “The B√°sico” muestra claramente que se espera que usted tenga una base en el tema antes de comenzar.

El primer capítulo cubre todos los aspectos básicos como el uso de variables, los entornos utilizados por los comandos y el entorno $(Shell). A medida que el capítulo avanza, usted entra en el tema de la comparación, las listas y las funciones definidas por el usuario.

Si ha estado usando GNU Make por un tiempo pero a√ļn no se considera un experto, hay algunos consejos y sugerencias que le ayudar√°n a entender ciertas complejidades que pueden no ser aparentes inmediatamente.

El segundo cap√≠tulo ser√° una bendici√≥n para aquellos de ustedes que han estado tratando de atrapar errores en la construcci√≥n de scripts. La secci√≥n “Makefile Debugging” est√° llena de excelentes consejos y sugerencias para depurar Makefiles e incluye secciones sobre la impresi√≥n de valores de variables e incluso la descarga del valor de cada variable. M√°s adelante en el cap√≠tulo, hay una gu√≠a del Depurador de GNU que puede usar para revisar los scripts.

El tercer capítulo incluye makefiles de ejemplo, pero más que eso te muestra cómo crear Makefiles que puedes ejecutar una y otra vez.

“Trampas y Problemas” examina las diferencias entre ciertos t√©rminos tales como = y :=, y ifndef y ?=.

Me di cuenta, a medida que avanzaba en el libro, que debido a que no estoy tratando activamente de usar GNU Make y a que mi conocimiento est√° a un nivel muy b√°sico, algunos de los temas que se trataban pasaban por alto.

En el momento en que llegu√© al cap√≠tulo “Empujar el sobre”, mis ojos se hab√≠an vuelto algo vidriosos.

Mi resumen principal, si tuviera que resumir este libro, es que el autor conoce claramente su contenido y ha tratado de transmitir toda la información posible.

El problema es que a veces, cuando un experto en la materia trata de escribir algo, tiene este “oh, es f√°cil, todo lo que tienes que hacer es….” aura sobre ellos.

El sello de goma de mi puerta trasera se desprendi√≥ la semana pasada y como s√≥lo tiene un par de a√Īos llam√© a la compa√Ī√≠a que lo instal√≥, ya que todav√≠a est√° en garant√≠a.

La se√Īora al tel√©fono dijo: “Oh, est√° bien, te enviar√© un nuevo sello”.

Le dije: “Oh, ¬Ņtengo que hacerlo yo mismo? Es algo que puedo hacer”.

La respuesta fue “Claro que puedes, todo lo que tienes que hacer es quitar la puerta, colocar el sello y volver a poner la puerta”.

Ahora mi pensamiento instant√°neo fue “woah, rebobina un poco. Quita la puerta?!??”. No estoy capacitado para quitar una puerta, colocar un sello y volver a colocar la puerta. Eso se lo dejo a los expertos.

Con este libro, siento que necesitas otro libro y una cierta cantidad de experiencia escribiendo Makefiles antes de que te resulte √ļtil.

Creo que las sugerencias, consejos y conocimientos que se ofrecen ayudar√≠an a algunas personas a decir “Oh, as√≠ que por eso hace eso” o “No me di cuenta de que pod√≠as hacerlo de esa manera”.

Mi evaluación es, por lo tanto, que debería comprar este libro si está buscando clarificación o conocimientos más intermedios o avanzados sobre GNU Make, pero no es un libro para principiantes.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *