Pergunta

Eu estou seguindo as instruções na Usando Verifique com página as Autotools em um tentativa de construir em apoio para teste de unidade em uma (actualmente) pequeno projecto C. Embora eu estou usando cgreen em vez de Verifique .

Estou tendo problemas com o passo 9, o que está causando automake para emitir um aviso sobre o uso de `% '-. Regras padrão de estilo de ser uma extensão make GNU

A regra determinada marca é:

check_%.$(OBJEXT) : $(srcdir)/%.c
    $(COMPILE) -DCHECKING -c -o $@ $^

Eu estou querendo saber se existe uma maneira equivalente a especificar essa regra que não depende de extensões do GNU make.

Foi útil?

Solução

regras tornam portáteis só pode usar sufixos diferentes, os prefixos deve ser o mesmo.

.c.o:
        $(COMPILE) -DCHECKING -c -o $@ $<

O sufixo não necessariamente começa com um ponto, no entanto. (Nesse caso, você tem que dizer Automake quais são seus sufixos, porque não pode adivinhar.) Assim, por exemplo, você poderia ter algo a seguinte se você renomear check_showdns.o para showdns_check.o:

SUFFIXES = _check.o 
check_libapdns_LDADD        = @CHECK_LIBS@ showdns_check.o
.c_check.o:
        $(COMPILE) -DCHECKING -c -o $@ $<

Outras dicas

Eu prefiro tentar desativar o aviso ou simplesmente ignorá-lo. existe GNU make para todas as plataformas Unix-like relevantes; não há nenhuma razão prática para passar o tempo mantendo a portabilidade makefile. GNU make é também característica-wise superior à maioria dos outros dialetos fazer.

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