GNU Make 4.4 рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд░рд┐рд▓реАрдЬ

рд▓рдЧрднрдЧ рддреАрди рд╡рд░реНрд╖рдХреЛ рд╡рд┐рдХрд╛рд╕ рдкрдЫрд┐, GNU Make 4.4 рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдмрдЧ рд╕рдорд╛рдзрд╛рдирдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд, рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд▓реЗ рдирд┐рдореНрди рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ:

  • OS/2 (EMX), AmigaOS, Xenix рд░ Cray рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ рд░ рднрд╡рд┐рд╖реНрдпрдХреЛ рд░рд┐рд▓реАрдЬрдорд╛ рдмрдиреНрдж рдЧрд░рд┐рдиреЗрдЫред
  • рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдмрдврд╛рдЗрдПрдХреЛ рдЫ; GNU Gnulib рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдм C99 рдорд╛рдирдХрдмрд╛рдЯ рддрддреНрд╡рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рдХрдореНрдкрд╛рдЗрд▓рд░ рдЪрд╛рд╣рд┐рдиреНрдЫред
  • рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрдорд╛рдг рд▓рдХреНрд╖реНрдп рдердкрд┐рдпреЛред WAIT, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреНрдп рд▓рдХреНрд╖реНрдпрд╣рд░реВрдХреЛ рдирд┐рд░реНрдорд╛рдг рдкреВрд░рд╛ рдирднрдПрд╕рдореНрдо рдирд┐рд╢реНрдЪрд┐рдд рд▓рдХреНрд╖реНрдпрд╣рд░реВрдХреЛ рдирд┐рд░реНрдорд╛рдгрдХреЛ рд╕реБрд░реБрд╡рд╛рдд рд░реЛрдХреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • рд╡рд┐рд╢реЗрд╖ рд╕рднрд╛ рд▓рдХреНрд╖реНрдп .NOTPARALLEL рдорд╛, рдкреВрд░реНрд╡ рд╢рд░реНрддрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ (рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓рд╣рд░реВ) рд╕рдореНрдмрдиреНрдзрд┐рдд рд▓рдХреНрд╖реНрдпрд╣рд░реВ рдХреНрд░рдорд┐рдХ рд░реВрдкрдорд╛ рд╕реБрд░реВ рдЧрд░реНрди рд▓рд╛рдЧреВ рдЧрд░рд┐рдиреНрдЫ (рдЬрд╕реНрддреИ "рдкреНрд░рддреНрдпреЗрдХ рдкреВрд░реНрд╡ рд╢рд░реНрддрд╣рд░реВ рдмреАрдЪ "WAIT" рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ)ред
  • рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрдорд╛рдг рд▓рдХреНрд╖реНрдп рдердкрд┐рдпреЛред NOTINTERMEDIATE, рдЬрд╕рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╛рдЗрд▓рд╣рд░реВ, рдорд╛рд╕реНрдХрд╕рдБрдЧ рдорд┐рд▓реНрдиреЗ рдлрд╛рдЗрд▓рд╣рд░реВ, рд╡рд╛ рд╕рдореНрдкреВрд░реНрдг рдореЗрдХрдлрд╛рдЗрд▓рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдордзреНрдпрд╡рд░реНрддреА рд▓рдХреНрд╖реНрдпрд╣рд░реВ (.INTERMEDIATE) рдХреЛ рдкреНрд░рдпреЛрдЧрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░рд▓рд╛рдИ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрдЫред
  • $(let...) рдкреНрд░рдХрд╛рд░реНрдп рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред
  • рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдХрд╛рд░реНрдп $(intcmp...)ред
  • "-l" (--load-average) рд╡рд┐рдХрд▓реНрдк рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, /proc/loadavg рдлрд╛рдЗрд▓рдмрд╛рдЯ рдкреНрд░рдгрд╛рд▓реА рд▓реЛрдб рдбрд╛рдЯрд╛ рдЕрдм рдЪрд▓рд╛рдЙрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрд╛ рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдЗрдиреНрдЫред
  • "--shuffle" рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд╣рд░реВ рдмрджрд▓реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рдорд╛рдирд╛рдиреНрддрд░ рд╕рднрд╛рдХреЛ рд╕рдордпрдорд╛ рдЧреИрд░-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдореЗрдХрдлрд╛рдЗрд▓рдорд╛ рдкреВрд░реНрд╡ рд╢рд░реНрддрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдиреЗ рд╢реБрджреНрдзрддрд╛ рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐)ред
  • mkfifo рд╕рдорд░реНрдерди рднрдПрдХрд╛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛, рдирд╛рдорд┐рдд рдкрд╛рдЗрдкрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рдордХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдХреНрд░рдордорд╛ рд░реЛрдЬрдЧрд╛рд░ рд╕рд░реНрднрд░рд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдирдпрд╛рдБ рд╡рд┐рдзрд┐рдХреЛ рдкреНрд░рдпреЛрдЧ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред рдЕрдЬреНрдЮрд╛рдд рдкрд╛рдЗрдкрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреБрд░рд╛рдиреЛ рд╡рд┐рдзрд┐ рдлрд┐рд░реНрддрд╛ рдЧрд░реНрди, рд╡рд┐рдХрд▓реНрдк "-jobserver-style=pipe" рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдХреНрд░рдордорд╛ рдЕрд╕реНрдерд╛рдпреА рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ (рдЕрд╕реНрдерд╛рдпреА рдлрд╛рдЗрд▓рд╣рд░реВ (TMPDIR) рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╕реЗрдЯ рдЧрд░реНрджрд╛ рд░ рдПрд╕реЗрдореНрдмрд▓реАрдХреЛ рд╕рдордпрдорд╛ TMPDIR рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдореЗрдЯрд╛рдЙрдБрджрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЙрддреНрдкрдиреНрди рд╣реБрди рд╕рдХреНрдЫрдиреН)ред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди