Usando uma regra make para chamar outra

4

Estou escrevendo um projeto LaTeX para o qual estou usando um makefile. Eu tenho uma função limpa para limpar o excesso de arquivos LaTeX:

.PHONY: clean
clean:
    \rm *.aux *.blg *.out *.bbl *.log

Mas, em alguns casos, eu preciso me livrar dos arquivos gerados, bem como do arquivo PDF. Eu tentei isso usando:

.PHONY: clean_all
clean_all:
        $(clean) \rm *.pdf

Isso não funciona, pois remove apenas o arquivo PDF.

Minha pergunta é como invocar a regra clean dentro da regra clean_all ?

    
por user133987 12.04.2014 / 12:51

1 resposta

3

Faça o clean_all alvo dependendo do clean target:

.PHONY: clean_all clean

clean:
        rm -f *.aux *.blg *.out *.bbl *.log

clean_all: clean
        rm -f *.pdf

Eu adicionei o -f ao rm para que os arquivos não existentes não gerem um erro nas regras (por exemplo, quando você executaria o comando duas vezes).

(BTW, eu nunca ouvi falar dessas regras sendo discutidas como funções, você pode querer verificar novamente sua terminologia e ter mais sucesso enquanto pesquisando coisas sobre makefiles).

    
por 12.04.2014 / 13:26

Tags