Korzystałem z pliku Makefile z książki „ Advanced Linux Programming (2001)” [kod] . Dziwne było dla mnie, że GNU make poprawnie kompiluje kod, nawet nie określając kompilatora w Makefile. To jak pieczenie bez przepisu!
To jest minimalna wersja kodu:
test.c
int main(){}
Makefile
all: test
i spraw, by naprawdę działało! Jest to polecenie, które wykonuje:
cc test.c -o test
Nie mogłem znaleźć niczego przydatnego w dokumentacji. Jak to mozliwe
PS Jedna dodatkowa uwaga: Nawet język nie jest określony; Ponieważ test.cjest dostępny, GNU makeużywa cc. Jeśli istnieje test.cpplub test.cc(gdy nie ma test.c), używa g++(i nie c++).
makesprawdza lodówkę i dowiaduje się, że jest dostępna mąka, a następnie wypieka dla ciebie domyślne ciasto z wewnętrznego przepisu. :-)
makegotować wodę, a stosując jej wewnętrzne zasady,makepo prostu