En pocas palabras, desde la página de manual de GNU make, el Makefile
describe las relaciones entre los archivos en su programa y también establece los comandos para actualizar cada archivo. En un programa, normalmente el archivo ejecutable se actualiza a partir de archivos de objetos, que a su vez se compilan compilando archivos fuente.
Por ejemplo:
- ¿Cómo funcionan los controles remotos y por qué podrían replicarse con aplicaciones telefónicas?
- ¿Por qué se producen errores de "no responder" en el software y cómo se puede evitar?
- ¿Hay alguna manera de saber si las imágenes fueron alteradas electrónicamente con Photoshop u otro software?
- Cómo hacer que Windows 8.1 arranque más rápido
- ¿Cuál es el mejor software de DJ para Mac?
prueba: prueba.o cc -o test test.o test.o: test.c cc -c -o prueba.o prueba.c
básicamente dice “si el binario de test
es anterior a test.o
o no existe, ejecute el compilador de C para crearlo” y “si test.o
es anterior a test.c
o no existe, ejecute el compilador de C a crearlo “.
make
simplemente lee en su Makefile y comprueba qué archivos no están actualizados con sus dependencias (o si no existen). Para cada uno de esos archivos, make
ejecuta los comandos correspondientes especificados para los archivos. En el ejemplo anterior, si todo lo que tenía era test.c
, make
descubriría automáticamente que tenía que ejecutar el segundo comando cc
antes que el primero.