コメントありがとうございます。この場合、実際にVPATH
は使用されません。
プロジェクトを再帰的にビルドするために、いくつかのメイクファイルを作成します。
ルート ディレクトリのmakefileの一部は次のようになります。
VPATH += $(shell find -type d)
export VPATH
#Codes to generate $(ARXIVS), i.e. the list of all local archives,
#is omitted here to save spaces
all : main.o $(ARXIVS)
$(ARXIVS) :
$(MAKE) --directory $(@D)
.PHONY : $(ARXIVS) all
ご覧のとおり、計算コストを節約するために変数VPATH
をサブmakeに渡します。そして、システム全体が機能します。
ただし、サブディレクトリの検索パスは、ルート ディレクトリの検索パスとは異なります。
サブmakeのVAPTH の値を出力しました。実際のパスは、ルート ディレクトリに対するものです。したがって、サブmakeのVPATH は間違っているはずです。
しかし、システム全体が機能します。これはどのように起こったのですか?誰かが私に提案をします. 前もって感謝します