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

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

私はmakefileを使ってLaTeXプロジェクトを書いています。重複したLaTeXファイルを整理するためのきちんとした機能があります。

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

ただし、場合によっては、PDFファイルだけでなく生成されたファイルも削除する必要がある場合があります。私は以下を試してみました。

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

PDFファイルのみを削除するため、機能しません。

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

ベストアンサー1

clean_all目標に基づいて目標を設定clean:

.PHONY: clean_all clean

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

clean_all: clean
        rm -f *.pdf

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

(ところで、私はこのような話を聞いたことがありません。ルール関数と呼ぶと、用語を再確認してmakefileのインターネット検索に成功することができます。

おすすめ記事