Saya mencoba memahami perbedaan antara 'gmake' dan 'make'?
Pada kotak linux saya mereka identik:
% gmake --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
% make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Saya kira ini tidak sama di semua platform? Apakah ada alasan yang baik untuk menggunakan salah satunya?
Apakah ada signifikansi historis mengapa ada dua nama?
gcc -o $@ $<
= tidak ada sumber input dengan gmake karena $ <mengevaluasi ke string kosong. Lebih buruk ada kombinasi yang dapat menghasilkan dalam file clobbering gcc).$^
? Sebuah variabel dengan nama yang pasti ada di GNU Membuat, dan sejauh yang saya tahu adalah kompatibel dengan warisan Membuat. Apakah semantik dalam BSD berbeda?Di sistem saya tidak ada perbedaan (gmake soft link to make):
gmake singkatan dari GNU make. Ada berbagai implementasi make. Di mesin Linux, kemungkinan besar membuat kehendak oleh GNU dan untuk membuat hidup pengguna lebih mudah dikaitkan dengan gmake.
sumber
"Kebalikan" biasanya
gmake
adalah BSDmake
, yang cenderungmake
pada sistem BSD, tidak mengejutkan. Jika Anda ingin melihat seperti apa BSD itu, pada Debian derivatif itu tersediaapt-get install pmake
.sumber
pmake
BSD tidak mengejutkan? >. <Rupanya, GNU make secara universal sekarang , jadi seharusnya hampir tidak pernah ada perbedaan.
sumber