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.c
está disponible, GNU make
utiliza cc
. Si existe test.cpp
o test.cc
(cuando no existe test.c
), usa g++
(y no c++
).
make
revisa su refrigerador y descubre que hay algo de harina disponible, luego hornea un pastel predeterminado para usted a partir de su receta interna. :-)
make
que hierva agua, y usando sus reglas internas,make
simplemente descubrirá cómo;)