Po takmer troch rokoch vývoja bol vydaný systém na zostavovanie GNU Make 4.4. Okrem opravy chýb je v novej verzii možné spomenúť nasledujúce zmeny:
- Platformy OS/2 (EMX), AmigaOS, Xenix a Cray boli vyhlásené za zastarané, podpora ktorých bude ukončená v ďalšej verzii.
- Zvýšili sa požiadavky na zostavovacie prostredie, pre zostavenie GNU Gnulib je teraz potrebný kompilátor, ktorý podporuje prvky štandardu C99.
- Bola pridaná špeciálna zostavovacia cieľ .WAIT, ktorá umožňuje oneskorenie spustenia zostavovania určitých cieľov, kým nebude dokončené zostavovanie iných cieľov.
- V špeciálnej zostavovacej cieľi .NOTPARALLEL bola implementovaná možnosť určiť prekurzory (súbory potrebné na zostavenie cieľa) pre sekvenčné spustenie súvisiacich cieľov (ako keby medzi každým prekurzorom bol nastavený „.WAIT“).
- Bola pridaná špeciálna zostavovacia cieľ .NOTINTERMEDIATE, ktorá zakazuje správanie súvisiace s použitím medzičlánkov (.INTERMEDIATE) pre určené súbory, súbory spadajúce pod masku alebo celý makefile.
- Bola implementovaná funkcia $(let …), ktorá umožňuje definovať lokálne premenné v používateľských funkciách.
- Bola implementovaná funkcia $(intcmp …) na porovnávanie čísel.
- Pri používaní voľby „-l“ (—load-average) pri určovaní počtu spustených úloh sa teraz zohľadňujú údaje zo súboru /proc/loadavg o zaťažení systému.
- Bola pridaná voľba „—shuffle“ na zamiešanie prekurzorov, čo umožňuje dosiahnuť nedeterministické správanie pri paralelnej zostave (napríklad pre fuzzing testovanie správnosti určenia prekurzorov v makefile).
- Na systémoch s podporou mkfifo bola zabezpečená nová metóda interakcie s jobserverom pri paralelnom vykonávaní úloh, založená na použití pomenovaných kanálov. Na návrat k starej metóde založenej na nepomenovaných kanáloch je navrhnutá voľba „—jobserver-style=pipe“.
- Bolo rozšírené použitie dočasných súborov počas procesu práce (môžu vzniknúť problémy pri nastavení alternatívneho adresára pre dočasné súbory (TMPDIR) a mazanie obsahu TMPDIR počas zostavovania).
Zdroj: opennet.ru
