Pergunta

Eu tenho um makefile que, dependendo de algumas propriedades, define o VPath e gera uma lista de arquivos de origem em uma variável. Preciso executar o Makefile sem compilar nada (a compilação é realmente tratada por um Makefile diferente) e apenas ver quais arquivos reais os nomes de arquivos são correspondentes, dependendo das configurações do VPath.

Foi útil?

Solução

Opção 1: deixe fazer o caminho pesquisar:

.PHONY: whichfiles
whichfiles: $(LIST_OF_SOURCE_FILES)
    @echo $+

Opção 2: simular a pesquisa de caminho usando $ (curinga):

.PHONY: whichfiles
whichfiles:
    @echo $(foreach f,$(LIST_OF_SOURCE_FILES),$(firstword $(wildcard $(VPATH:%=%/$f)) not-found:$f))

De qualquer maneira, "Make Whwfiles" imprimirá a lista de arquivos correspondentes.

Se alguns dos arquivos não puderem ser encontrados, a opção 1 falhará com "nenhuma regra para fazer" relatar o primeiro arquivo que não pôde ser encontrado. A Opção 2 imprimirá "não achado" para cada arquivo ausente.

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