Գրեթե երեք տարվա մշակումից հետո թողարկվեց GNU Make 4.4 build համակարգը: Բացի սխալների շտկումից, նոր տարբերակում կարելի է նշել հետևյալ փոփոխությունները.
- OS/2 (EMX), AmigaOS, Xenix և Cray պլատֆորմները հնացած են և հնացած կլինեն ապագա թողարկումներում:
- Կառուցման միջավայրին ներկայացվող պահանջներն ավելացել են, GNU Gnulib-ը ստեղծելու համար այժմ անհրաժեշտ է կոմպիլյատոր, որն աջակցում է C99 ստանդարտի տարրերին:
- Ավելացվել է հատուկ .WAIT build թիրախ, որը թույլ է տալիս դադարեցնել որոշակի թիրախների կառուցման մեկնարկը, մինչև ավարտվի այլ թիրախների կառուցումը:
- Հատուկ կառուցման թիրախում .NOTPARALLEL նախադրյալներ (թիրախը կառուցելու համար անհրաժեշտ ֆայլեր) նշելու հնարավորությունն իրականացվում է դրանց հետ կապված թիրախները հաջորդաբար գործարկելու համար (կարծես յուրաքանչյուր նախապայմանի միջև դրված է «. WAIT»):
- Ավելացվեց հատուկ կառուցման թիրախ .NOTINTERMEDIATE, որն անջատում է միջանկյալ թիրախների (.INTERMEDIATE) օգտագործման հետ կապված վարքագիծը նշված ֆայլերի, դիմակին համապատասխանող ֆայլերի կամ ամբողջ makefile-ի համար:
- Իրականացրել է $(let ...) ֆունկցիան, որը թույլ է տալիս սահմանել լոկալ փոփոխականներ օգտագործողի կողմից սահմանված գործառույթներում:
- Իրականացրել է $(intcmp ...) ֆունկցիան՝ թվերը համեմատելու համար:
- «-l» (--load-average) տարբերակն օգտագործելիս, այժմ սկսվող աշխատանքների քանակը հաշվի է առնում /proc/loadavg ֆայլից ստացված տվյալները համակարգի բեռի մասին:
- Նախադրյալները խառնելու համար ավելացվել է «--shuffle» տարբերակը, որը թույլ է տալիս հասնել ոչ դետերմինիստական վարքագծի զուգահեռացված կառուցումներում (օրինակ՝ մեյքֆայլում նախադրյալների սահմանման ճիշտությունը ստուգելու համար):
- mkfifo-ի աջակցությամբ համակարգերում տրամադրվում է աշխատատեղերի զուգահեռ կատարման ժամանակ աշխատատեղերի հետ փոխգործակցության նոր մեթոդ՝ հիմնված անվանված խողովակների օգտագործման վրա: Անանուն խողովակների վրա հիմնված հին մեթոդը վերադարձնելու համար առաջարկվել է «--jobserver-style=pipe» տարբերակը։
- Աշխատանքի ընթացքում ժամանակավոր ֆայլերի օգտագործումը ընդլայնվել է (խնդիրներ կարող են առաջանալ, երբ build համակարգը սահմանում է այլընտրանքային գրացուցակ ժամանակավոր ֆայլերի համար (TMPDIR) և ջնջում է TMPDIR-ի բովանդակությունը կառուցման ընթացքում):
Source: opennet.ru