Сви или готово сви (и ако немате среће) морали смо да компајлирамо програм из изворног кода. Заправо, у већини пројеката довољно је направити ./цонфигуре && маке && маке инсталл да бисте инсталирали програм, али видећемо различите алтернативе:
ГНУ Маке
ГНУ Маке је систем компилације на ниском нивоу, неколико ствари је конфигурисано и не изводе се тестови:
Предности:
- Веома раширена
- Једноставно за разумевање
- Брзо
Против:
- Мало подесиво
- Тешко за одржавање
- Не врши тестове
make
БСД Маке
БСД Маке је још једна верзија Маке-а коју тренутно користе * БСД оперативни системи. Разликује се у томе што је ГНУ Маке најопсежнији БСД Маке у функционалностима, иако је мање раширен.
Предности:
- Брзо
- Једноставно за разумевање
- Више функција од ГНУ Маке
Против:
- Није раширено у свету Линук-а
- Не врши тестове
- Мало подесиво
- Тешко за одржавање
make
Аутотоолс
Аутотоолс је званични ГНУ систем и генерише скрипту која се зове цонфигуре коју морамо позвати да генеришемо одговарајућу Макефиле датотеку из ГНУ Маке. Широко се користи, међутим, све више људи (укључујући и мене) сматра да је превише гломазан, тежак, спор и не баш компатибилан.
Предности:
- Високо подесива
- Веома раширена
Против:
- Мала преносивост између система који нису УНИКС
- Извршите превише тестова (проверите СВЕ, а СВЕ ЈЕ СВЕ)
- Веома споро приликом конфигурисања
- Лоша компатибилност уназад
./configure && make
ЦМаке
(Мој омиљени систем) ЦМаке је систем који надокнађује недостатке Аутотоолс-а у многим аспектима, попут његове страшне компатибилности и преносивости. Такође побољшање система за тестирање који је високо конфигурабилан за потребе сваког пројекта. Истина је да све више пројеката користи ЦМаке као што су КДЕ, ПортАудио, Огре3Д итд. Ову врсту система можемо препознати захваљујући ЦМакеЛистс.ткт датотеци која ће генерисати Макефиле или пројекат за Ецлипсе или ЦодеБлоцкс
Предности:
- Брзо
- Одлична подршка за више платформи
- Тестове можете дефинисати на врло прилагодљив начин
Против:
- У почетку тешко разумљиво
- Морате радити са апстракцијом која у почетку може бити застрашујућа
- Мало се шири иако мало по мало расте
cmake . && make
КМаке
КМаке је систем који је Троллтецх дизајнирао за компајлирање пројеката направљених у Кт-у. На овај начин кмаке ставља велики нагласак на Кт и обично је формат који користе ИДЕ-и попут КтЦреатор. Прилично је популаран у Кт пројектима, али га нема изван овог окружења:
Предности:
- Врло добро интегрисан са Кт
- Брзо
- Добра мултиплатформа унутар Кт
Против:
- Ретко изван Кт апликација
qmake . && make
СЦонс
СЦонс је систем за компајлирање Ц / Ц ++ пројеката заснован на Питхон-у. За разлику од Аутотоолс, ЦМаке или КМаке; СЦонс не гради Макефиле. СЦонс је врло прилагодљив, али је можда најспорији у једноставним операцијама
Предности:
- Једноставна модификација
- Положите поштене тестове
Против:
- Мало ширења
- спор
scons
Боост.Јам
Боост.Јам је верзија Перфорце Јам-а која се користи у популарним Ц ++ Боост библиотекама, иако се систем компајлирања може користити засебно. За разлику од ГНУ Маке, Боост.Јам користи Јамфилес, који су побољшана верзија Макефилес-а. Прилично су популарни у окружењу БеОС / Зета / Хаику.
Предности:
- Брзо
- Најкраће за писање
Против:
- Мало ширења
- Тешкоћа у извођењу тестова
bjam
ниња
Ниња је систем који је Гоогле развио како би пружио ултрабрзи систем израде који је првобитно дизајниран да одговара систему Цхромиум. Ниња није дизајниран тако да га је лако модификовати, према сопственим ауторима треба пронаћи систем који генерише Нинџу. Препоручени су ЦМаке и гип.
Предности:
- Муи рапидо
Против:
- Потребан вам је други систем за мрежење Ниње
- Мало ширења
ninja
други
Можете користити било који други систем као што је ваш басх или питхон скрипта. Постоје и генератори за друге стране језике који се могу користити као Градле, Мавен, гип итд.
Маке није систем компилације, он је генератор бинарних датотека (или циљева) из свог изворног кода. Такође се може користити као покретач задатака.
Разликујем се с вама да је БСД маке шири у функционалности, ГНУ маке је потпунији, има више функционалности. И кажем то из свог искуства, у БСД увек морам да инсталирам ГНУ маке, јер је БСД маке врло једноставан у поређењу са ГНУ макеом.
Слажем се с вама да је Аутотоолс прилично гломазан, више волим да користим Макефиле. Тешко је отклонити грешке у датотекама израђеним помоћу Аутотоолс.
Поздрав!
Хвала на коментару!
По мом мишљењу ГНУ маке је увек био традиционалнији и вернији оригиналном програму маке, а БСД маке је увек био иновативнији, али можда сам приметио и друге ствари приликом упоређивања.
Ауто алати су заиста велика главобоља. Као сарадник Хаику оперативног система, морао сам да преносим софтвер са аутоматским алатима и то је пакао. Није мало случајева да сам на крају створио Макефиле или ЦМакеЛистс.ткт пре него што сам поправио овај неред.
Тренутно користим Премаке4, врло подесив и једноставан на основу Луа скрипти. Погледајте ако то не знате.
Честитке на чланку, једноставне и језгровите, одлична референца.
„маке цхецк“ се користи за проверу компилације након употребе маке
Велики поздрав