J'utilisais un Makefile du livre " Advanced Linux Programming (2001)" [code] . C'était étrange pour moi de voir que GNU make compilait le code correctement, sans même spécifier un compilateur dans le Makefile. C'est comme cuire sans aucune recette!
Ceci est une version minimale du code:
test.c
int main(){}
Makefile
all: test
et fait vraiment fonctionner! C'est la commande qu'il exécute:
cc test.c -o test
Je n'ai rien trouvé d'utile dans la documentation. Comment c'est possible?
PS Une note supplémentaire: Même la langue n’est pas spécifiée; Parce que test.c
est disponible, GNU make
utilise cc
. S'il existe test.cpp
ou test.cc
(quand il n'y en a pas test.c
), il utilise g++
(et non c++
).
make
vérifie votre réfrigérateur et découvre qu'il y a de la farine disponible, puis prépare un gâteau par défaut à partir de sa recette interne. :-)
make
de faire bouillir de l'eau et qu'on utilise ses règles internesmake
pour comprendre comment;)