0

プロジェクトのルートディレクトリにメインのmakefileがあります。includeディレクトリ内に別のmakefileがあります。2番目のmakefileは、includeキーワードを使用して、私が制御できない他のプロジェクトの他のmakefileを呼び出します。私が持っているものと同じ名前のターゲットがいくつかあるため、このmakefileを直接含めることはできません。回避策として、再帰呼び出しを使用することにしました。次のコマンドを使用して、このmakefileをシェルで実行すると、うまく機能します。

my_project$ make -C include -f Second_Makefile

しかし、メインのMakefileを介して次のように呼び出すと、通常は動作しません。つまり、2番目のmakefile内に含まれているファイルに起因する、見つけるのが非常に難しいプロジェクト固有のエラーが報告されます。

all:
    @$(MAKE) -C include -f Second_Makefile

次の行も試しましたが、役に立ちませんでした。

cd include; @$(MAKE) -f Second_Makefile

再帰呼び出しと直接呼び出しには違いがあるはずですが、それが何なのかわかりません。

4

0 に答える 0