私はメイクルールを持っています:
%.mod: %.f90
$(FORTRAN) $(FFLAGS) $< -o $(@:.mod=.o)
mv $(@:.mod=.o) obj
(コマンドの前にタブがありますが、ここに表示する方法がわかりません)
これで動くのですが、一発でやろうとすると……
%.mod: %.f90
$(FORTRAN) $(FFLAGS) $< -o obj/$(@:.mod=.o)
make は最終マクロを解決しません。単に「obj/」をコンパイラに送信するだけで、もちろん処理できません。誰かが私に理由と、最初のバージョンで行ったよりも効率的にこのルールを書き直す方法を説明できますか?
また、私が実際に行っていることは、一部のファイルが .mod ファイルに依存していることを make に理解させようとしており、それが .mod ファイルを更新する方法です。makedependやcmakeなどに行かずに、それを行う方法を知っている人はいますか? ありがとう!