Ferramentas de Desenvolvimento
GNU make 4.3
GNU make 4.3 inclui muitas correções de bugs, novos recursos e melhorias de desempenho.
Incompatibilidade com versões anteriores
Os patches de compatibilidade para a versão 3.8 foram removidos nesta versão, fazendo com que o Fedora seja igual a outras distros.
| Mantenedores de pacotes que dependem de recursos de makefile específicos para versões mais antigas do GNU make (incluindo patches de compatibilidade para 3.8 que estamos descartando) podem usar FTBFS e precisar ajustar seus Makefiles. Os pacotes que foram compilados antes desta atualização não serão afetados. | 
Incompatibilidade específica com versões anteriores:
* AVISO: Incompatibilidade com versões anteriores!
   Sinais numéricos (#) aparecendo dentro de uma referência de macro ou invocação de função
   não introduz mais comentários e não deve ser escapado com barras invertidas:
   portanto, uma chamada como:
     foo := $(shell echo '#')
   é válida. Anteriormente, o sinal numérico precisava ser escapado, por exemplo:
     foo := $(shell echo '\#')
   Agora, este último será resolvido como "\#".  Se você quiser escrever makefiles
   portáteis para ambas as versões, atribua o sinal numérico a uma variável:
     H:= \#
     foo := $(shell echo '$H')
   Foi alegado que isso foi corrigido no 3.81, mas não foi, por algum motivo.
   Para detectar esta alteração, procure por 'nocomment' na variável .FEATURES .
* AVISO: Incompatibilidade com versões anteriores!
   Anexar anteriormente usando '+=' a uma variável vazia resultaria em um valor
   começando com um espaço. Agora o espaço inicial só é adicionado se a variável
   já contém algum valor. Da mesma forma, anexar uma string vazia não
   adiciona um espaço à direita.
Novos recursos
- 
Alvos explícitos agrupados As regras padrão sempre tiveram a capacidade de gerar múltiplos alvos com uma única invocação da receita. Agora é possível declarar que uma regra explícita gera múltiplos alvos com uma única invocação. Para usar isso, substitua o token :por&:na regra. Para detectar este recurso, procure porgrouped-targetna variável especial .FEATURES.
- 
Variável .EXTRA_PREREQS As palavras nesta variável são consideradas pré-requisitos dos alvos, mas não são adicionadas a nenhum dos valores da variável automática ao expandir a receita. Esta variável pode ser global (aplica-se a todos os destinos) ou uma variável específica do destino. Para detectar este recurso, procure por extra-prereqsna variável especial.FEATURES.
- 
Makefiles agora podem especificar a opção -jem sua variável MAKEFLAGS e isso fará com que o make habilite esse modo de paralelismo.
- 
GNU make agora usará posix_spawn()em sistemas onde estiver disponível. Se você preferir usar fork/exec mesmo em sistemas onde posix_spawn() está presente, você pode usar a opção--disable-posix-spawnpara configurar.
- 
As mensagens de erro impressas ao invocar comandos inexistentes foram limpas e tornadas consistentes. 
- 
Uma nova opção --no-silentfoi adicionada, que cancela o efeito do sinalizador-s/--silent/--quiet.
- 
Uma nova opção -Efoi adicionada como um alias curto para--eval.
- 
Interoperabilidade com bibliotecas de tempo de execução GNU libc e musl C mais recentes. 
Consulte o link: anúncio de lançamento upstream para obter informações mais detalhadas sobre este lançamento.
Bugs corrigidos
Uma lista completa de bugs corrigidos nesta versão está disponível aqui make - Bugs
Want to help? Learn how to contribute to Fedora Docs ›