Próbuję zrozumieć różnicę między „gmake” a „make”?
Na moim Linuksie są identyczne:
% 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.
Zgaduję, że to nie jest to samo na wszystkich platformach? Czy istnieje dobry powód, aby używać jednego nad drugim?
Czy istnieje jakieś historyczne znaczenie, dlaczego istnieją te dwie nazwy?
gcc -o $@ $<
= brak źródeł wejściowych z gmake, ponieważ $ <jest wynikiem pustego ciągu. Istnieją gorsze kombinacje, które mogą skutkować w plikach clobbering gcc).$^
? Zmienna o tej nazwie na pewno istnieje w GNU make, io ile mogę powiedzieć, jest kompatybilny ze starszymi wykonania. Czy semantyka w BSD jest inna?W moim systemie nie ma różnicy (gmake to miękki link do zrobienia):
gmake to skrót od GNU make. Istnieją różne implementacje marki. Na maszynie z Linuksem najprawdopodobniej zrobić wolę GNU i aby ułatwić życie użytkownika, jest miękko powiązane z gmake.
źródło
Zwykłym „przeciwieństwem”
gmake
jest BSDmake
, który, co nie jestmake
zaskakujące, zwykle będzie występował w systemach BSD. Jeśli chcesz zobaczyć, jak wygląda BSD, w pochodnych Debiana jest dostępny jakoapt-get install pmake
.źródło
pmake
nie jest zaskakujące, że BSD jest zrobione? >. <Najwyraźniej marka GNU jest teraz praktycznie uniwersalna , więc prawie nigdy nie powinno być różnicy.
źródło