0
質問は、GNU makefileと並行して作ることです。パラレルで同じディレクトリに異なるターゲットを扱う方法
以下のようなフォルダ構造が与えられた場合、make release/debug/cleanをサポートするmakefileを並行して提供することが目標です。
プロジェクトのフォルダ構造:
foo
+-foo1
+-foo2
+-foo3
メイクのようなかなったことがあります
SUBDIR = foo1 foo2 foo3
.PHONY $(SUBDIR) release debug clean
release: $(SUBDIR)
$(SUBDIR):
$(MAKE) -C [email protected] release
debug: $(SUBDIR)
#below is incorrect. $(SUBDIR) is overriden.
$(SUBDIR):
$(MAKE) -C [email protected] debug
..
サブディレクトリリストを並列させるためとして偽の目標を設定しています。元のターゲット(リリース、デバッグ、クリーンなど)の情報が失われました。
ディレクトリの名前に接尾辞を付けてコマンドで復元する方法がありますが、それは変です。もう1つの方法は変数を使用することですが、それをどのように実行するかはわかりません。
質問は次のとおりです: 異なるターゲット(リリース/デバッグ/クリーン)で並列作成をサポートするディレクトリのルールを書き込む方法はありますか?
ご意見をいただければ幸いです。
気にしないでください。私は変数を渡すことによってそれを働かせます。デバッグ:\ n \ n $(MAKE)-C $ @ sub_target =デバッグ – maplesfive