/ / curinga não funciona para uma nova pasta gerada - linux, makefile, curinga

curinga não funciona para uma nova pasta gerada - linux, makefile, wildcard

Eu estou tentando obter um nome de arquivo .tar.gz de uma nova pasta gerada (um passo acima). Eu tentei usar curinga, mas sem sorte,

No meu makefile, tentei:

...
...
...
other parts
...

deb:
python setup.py sdist   --- this step will generate a new folder called dist
cd dist; ls -l          --- from here, I see the file is shown.
echo $(wildcard dist/*.tar.gz)   (also tried dist/pylink*.tar.gz, dist/*.gz)  --fails!

Eu corro com make -f makefile deb.

Eu sempre não recebi nada do curinga

Mas se eu deixar a pasta gerada pelo python,e execute novamente o arquivo acima, posso ver que o nome do arquivo é gravado no console. Alguém sabe por quê? Como devo fazer para obter o nome do arquivo? Eu preciso usar o nome do arquivo e estender o nome do arquivo para outro.

muitíssimo obrigado!

Respostas:

2 para resposta № 1

Você não diz isso explicitamente, mas eu suponho que, porque você está usando $(wildcard ...), as linhas que você fornece fazem parte de uma regra make makefile do GNU. É melhor fornecer um exemplo prático, quando pedir ajuda, não apenas um pouco de um.

O problema que você está tendo é que faz expandir TODAS as variáveis ​​e funções em TODAS as linhas da receita, antes de iniciar a primeira linha da receita. $(wildcard ...) não aparece até a terceira linha da receita, ela é expandida antes que a primeira linha seja executada. Quando o $(wildcard ...) função funciona, esses arquivos não existem ainda assim expande para nada.

Por que você não usa apenas a concha globbing, já que você está em uma concha de qualquer maneira?

python setup.py sdist
cd dist; ls -l
echo dist/*.tar.gz