1. ホーム
  2. makefile

作る : ルール 呼び出す ルール

2023-08-05 15:26:59

質問

makefile の中で、あるルールを別のルールから呼び出すことはできますか?

と似ています。

rule1:
        echo "bye"
rule2:
        date
rule3:
        @echo "hello"
        rule1

どのように解決するのですか?

依存関係を利用するか、再帰的にルールを作成する。

依存関係はこのように行われるでしょう(順番は違いますが)。

rule1:
        echo "bye"
rule2:
        date
rule3: rule1
        @echo "hello"

再帰的なmakeはこのようになります(ただし、サブプロセスを伴います)。

rule1:
        echo "bye"
rule2:
        date
rule3:
        @echo "hello"
        $(MAKE) rule1

どちらも完璧ではありません。実際、再帰的な作り方では、ループを作ると重大な問題が発生する可能性があります。また、おそらく .PHONY ルールを追加して、上記のルールが合成であることを示すようにすべきです。 rule1 (など)がディレクトリに残っていても混乱しないようにします。