Pergunta

Como devo executar um Makefile pré-construído a partir de um Makefile.am?

Eu sou novo no sistema de compilação automake/autoconf.O pacote para o qual estou implementando autotools possui algumas bibliotecas e executáveis ​​de teste para cada uma.Algumas das bibliotecas são códigos ASN1C gerados automaticamente que vêm com makefiles pré-construídos.Não tenho certeza da melhor maneira de dizer dentro do Makefile.am "Construa a biblioteca ASN1C com o makefile pré-construído".

Tentar pesquisar no Google algo assim é um pouco difícil devido à abundância de documentação do makefile.

Obrigado, Chenz

Foi útil?

Solução

Isso é relativamente fácil para compilações completas, mas muito mais difícil para compilações incrementais.

Também importa se a biblioteca suporta compilações fora da árvore.

O importante a lembrar é que os arquivos automake podem conter regras make, então você pode criar um conjunto de regras para construir a biblioteca e, em seguida, adicionar/copiar a saída dessa construção onde for necessária para sua construção.

Atribua um diretório para a construção da biblioteca.Escreva regras make para encerrar o processo de construção da biblioteca.Vincule a saída da biblioteca build como dependências de sua build.

A única coisa que não fizemos foi usar as regras padrão do automake para distribuição/instalação - não tenho certeza de como você adicionaria as bibliotecas a essas listas, mas presumo que haja uma maneira, pois você deve ser capaz de distribuir aleatoriamente arquivos como traduções em sua distribuição.

Compilações incrementais são muito mais difíceis, porque você precisa capturar as dependências apropriadas em seu make regras, para cobrir as dependências do makefile da biblioteca.

Outras dicas

O manual Automake tem uma seção sobre isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top