Pärast peaaegu kolmeaastast arendustööd lasti välja GNU Make 4.4 ehitussüsteem. Lisaks vigade parandamisele saab uues versioonis märgata järgmisi muudatusi:
- OS/2 (EMX), AmigaOS-i, Xenixi ja Cray platvormid on aegunud ja kaotatakse tulevastes versioonides.
- Ehituskeskkonna nõudeid on suurendatud, GNU Gnulibi ehitamiseks vajate nüüd kompilaatorit, mis toetab C99 standardi elemente.
- Lisatud on spetsiaalne .WAIT ehituse sihtmärk, mis võimaldab peatada teatud sihtmärkide järgu käivitamise, kuni teiste sihtmärkide ehitamine on lõppenud.
- Spetsiaalses ehitussihtmärgis .NOTPARALLEL on rakendatud eelduste (sihtmärgi ehitamiseks vajalike failide) määramise võimalus nendega seotud sihtmärkide järjestikuseks käivitamiseks (justkui oleks iga eeltingimuse vahele seatud “.WAIT”).
- Lisatud on spetsiaalne ehituse sihtmärk .NOTINTERMEDIATE, mis keelab käitumise, mis on seotud vahepealsete sihtmärkide (.INTERMEDIATE) kasutamisega määratud failide, maskiga sobivate failide või kogu makefile jaoks.
- Rakendatud on funktsioon $(let ...), mis võimaldab defineerida kasutaja määratud funktsioonides kohalikke muutujaid.
- Arvude võrdlemiseks on rakendatud funktsiooni $(intcmp ...).
- Kasutades suvandit "-l" (--load-average), võtab nüüd käivitatavate tööde arv arvesse faili /proc/loadavg andmeid süsteemi koormuse kohta.
- Eeltingimuste segamiseks on lisatud võimalus "--shuffle", mis võimaldab saavutada paralleelsetes ehitustes mittedeterministlikku käitumist (näiteks makefile'is eelduste defineerimise õigsuse fuzz-testimiseks).
- Mkfifo toega süsteemides pakutakse uut meetodit tööserveriga suhtlemiseks tööde paralleelseks täitmiseks, mis põhineb nimega torude kasutamisel. Vana nimetutel torudel põhineva meetodi tagastamiseks on pakutud valik "--jobserver-style=pipe".
- Laiendatud on ajutiste failide kasutamist tööprotsessis (probleemid võivad tekkida, kui ehitussüsteem määrab ajutiste failide jaoks alternatiivse kataloogi (TMPDIR) ja kustutab ehitamise ajal TMPDIR-i sisu).
Allikas: opennet.ru