のためのアクションを実行し、私は私のMakefileの中でこのようなルールを構築したいと思います:メイク:各前提条件
log: test_A test_B
./test_A >> [email protected]
./test_B >> [email protected]
が、test_A
とtest_B
は$(TESTS)
変数の一部です。
GNU/makeの前提条件ごとにアクション(ここではプログラムを呼び出すこと)が可能ですか?
注How do I make a makefile rule execute its prerequisites?が完全に必要とされる目標log
(make log
)として、この問題を解決しません。
おかげで、それは私がなってしまったものを確認: '$(foreachのテスト、$ ^、 $(shell ./$(test)>> $ @)) ' – CJlano
これがあなたの_log_ルールのコマンドであれば、' $(shell ...) 'は覆されたものです。ルールのコマンドは空です'test_?'の実行は、(コマンドを実行することによって起こるのではなく)コマンドを理解する副産物として起こります。哲学的に間違っていて、実際にはあなたの 'test_? 'スクリプトの一つに失敗したことを知ることはできません。 (しかし、それでもあなたはこの答えに受け入れられるとマークしたいと思うでしょう...) –
このループはtest_Aとtest_Bの2回はありませんか?私も同様の問題があり、makeは非常に奇妙な動作をしています。 – Jaseem