Stavo usando un Makefile dal libro " Advanced Linux Programming (2001)" [codice] . È stato strano per me vedere che GNU make compila correttamente il codice, senza nemmeno specificare un compilatore nel Makefile. È come cuocere senza ricetta!
Questa è una versione minima del codice:
test.c
int main(){}
Makefile
all: test
e funziona davvero! Questo è il comando che esegue:
cc test.c -o test
Non ho trovato nulla di utile nella documentazione. Come è possibile?
PS Una nota aggiuntiva: anche la lingua non è specificata; Perché test.c
è disponibile, GNU make
usa cc
. Se esiste test.cpp
o test.cc
(quando non c'è test.c
), utilizza g++
(e non c++
).
make
controlla il tuo frigorifero e scopre che c'è della farina disponibile, quindi ti prepara una torta predefinita dalla sua ricetta interna. :-)
make
di far bollire l'acqua e, usando le sue regole interne,make