Precisa de ajuda para entender este arquivo make para debian linux

0

Eu tenho este código no arquivo make e não consegui

CHECK=dpkg -L $1 2>&1 >$(NULL) || $(APT) install -y $1
install.dpkg.%:
    $(call CHECK,$*)

Eu quero saber

  1. Eu li que $* significa todas as dependências. aqui significa que tudo o que está escrito em %

  2. em dpkg -L qual é o uso disso, para mim parece que a saída vai para null

por user1721949 16.12.2013 / 07:04

1 resposta

1

Q1: Não tenho 100% de certeza sobre os $ *, pois existem muitas variantes. Eu costumo usar $ @ para selecionar os alvos, mas talvez $ * esteja mais correto.

Q2: Eu posso dizer sobre sua pergunta 2 que isso é bash padrão. A chamada

cmda || cmdb

(que é uma declaração ou) também pode ser entendido como

if cmda doesn't succeed, then try to call cmdb and see if that will succeed

isso significa que quando você liga

dpkg -L $1 2>&1 >$(NULL) 

O resultado disso está sendo usado para decidir se o segundo comando

$(APT) install -y $1

deve ser executado.

Então, eu acredito que isso significa que, se o programa não estiver instalado, instale-o!

    
por 16.12.2013 / 09:43