Estaba usando un Makefile del libro " Advanced Linux Programming (2001)" [código] . Fue extraño para mí ver que GNU make compila el código correctamente, sin siquiera especificar un compilador en el Makefile. ¡Es como hornear sin ninguna receta!
Esta es una versión mínima del código:
prueba.c
int main(){}
Makefile
all: test
y hacer que realmente funcione! Este es el comando que ejecuta:
cc test.c -o test
No pude encontrar nada útil en la documentación. ¿Cómo es esto posible?
PD Una nota adicional: incluso el idioma no está especificado; Porque test.cestá disponible, GNU makeutiliza cc. Si existe test.cppo test.cc(cuando no existe test.c), usa g++(y no c++).
makerevisa su refrigerador y descubre que hay algo de harina disponible, luego hornea un pastel predeterminado para usted a partir de su receta interna. :-)
makeque hierva agua, y usando sus reglas internas,makesimplemente descubrirá cómo;)