GNU makefile でファイルをコンパイルする前に、リストに対してファイルをチェックしようとしています。以下の条件付き ifneq は、ルールが呼び出されるたびに評価されますか、それとも一度だけ評価されますか? 条件は常に同じように評価されるようです。
そうでない場合、これを行う唯一の方法は、シェルコマンドに条件を入れることですか? ターゲットリストが「OKではない」というのは奇妙に思えるかもしれません... Makeシステムは確かにその奇妙さを排除するために修正できますが、痛みはより大きくなります.
助言がありますか?エリ
OKSRC := realfile1.cpp realfile2.cpp
%.o: %.cpp
ifneq ($(findstring $<,$(OKSRC),),)
... do the compile
else
#skip the file
endif