Saya menggunakan Makefile dari buku " Advanced Linux Programming (2001)" [kode] . Aneh bagi saya untuk melihat bahwa make GNU mengkompilasi kode dengan benar, bahkan tanpa menentukan kompiler di Makefile. Ini seperti memanggang tanpa resep apa pun!
Ini adalah versi minimal dari kode:
test.c
int main(){}
Makefile
all: test
dan membuatnya benar-benar bekerja! Ini adalah perintah yang dijalankannya:
cc test.c -o test
Saya tidak dapat menemukan sesuatu yang berguna dalam dokumentasi. Bagaimana ini mungkin?
PS Satu catatan tambahan: Bahkan bahasa tidak ditentukan; Karena test.ctersedia, GNU makemenggunakan cc. Jika ada test.cppatau test.cc(ketika tidak ada test.c), ia menggunakan g++(dan tidak c++).
makememeriksa lemari es Anda dan menemukan ada beberapa tepung yang tersedia, kemudian membuat kue default untuk Anda dari resep internalnya. :-)
makemerebus air, dan menggunakan aturan internalnya,makehanya akan mengetahui caranya;)