web-dev-qa-db-ja.com

makeルールを使用して別のルールを呼び出す

私はメイクファイルを使用しているLaTeXプロジェクトを書いています。余分なLaTeXファイルをクリーンアップするクリーン機能があります。

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

しかし、いくつかのケースでは、PDFファイルと同様に、生成されたファイルを削除する必要があります。これを使用してこれを試みました:

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

PDFファイルを削除するだけなので、これは機能しません。

私の質問は、clean_allルール内でcleanルールを呼び出す方法ですか?

6
user133987

cleanターゲットに応じてclean_allターゲットを作成します。

.PHONY: clean_all clean

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

clean_all: clean
        rm -f *.pdf

-frmに追加して、存在しないファイルがルールでエラーを生成しないようにしました(たとえば、コマンドを2回実行する場合)。

(ところで、私はこれらのrulesが関数として話されていることを聞いたことがありません。用語を再確認して、メイクファイルに関することをグーグルしながらもっと成功したくなるかもしれません)。

7
Anthon