[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Intenção de empacotar as funcoesZZ



On Thu, May 29, 2008 at 10:55:54AM -0300, Eriberto wrote:
> Bem, vou dar a minha interpretação sobre isto. Me corrijam se eu estiver errado.
> 
> Os alvos devem existir para não dar erro durante o dpkg-buildpackage
> (é isso que diz na policy e ocorre na prática) e não porque alguém tem
> que ver esses nomes escritos lá. É por isso que existe a linha .PHONY
> no final do debian/rules. Em um Makefile,  uma das funções da linha
> .PHONY (que é um alvo e quer dizer impostor) é simular um alvo
> presente e vazio. Assim, se não houver algum alvo necessário, a linha
> .PHONY irá encarregar-se de enganar o dpkg-buildpackage, informando
> que o alvo "existe e está vazio".

O alvo .PHONY, pelo que entendo da página info do make (seção 4.6), é
um alvo que não corresponde ao nome de um arquivo, e não um alvo
implícito. No entanto, fazendo o teste, vejo que você tem razão: um
alvo declarado como phony é considerado como existente:

tiago@sofocles:/tmp/mk$ touch Makefile
tiago@sofocles:/tmp/mk$ make all
make: *** Sem regra para processar o alvo all'.  Pare.
tiago@sofocles:/tmp/mk$ echo "all:" > Makefile
tiago@sofocles:/tmp/mk$ make all
make: Nada a ser feito para all'.
tiago@sofocles:/tmp/mk$ echo ".PHONY: all" > Makefile
tiago@sofocles:/tmp/mk$ make all
make: Nada a ser feito para all'.

Sinceramente, não consegui achar referência a isso na página info. De
qualquer maneira, obrigado pela correção.

[]s,

Tiago.


Reply to: