これが私の問題です。私は長年Javaを使用しており、コードのさまざまな領域を区切る多くのディレクトリを楽しんでいます。私の現在のプロジェクトでは、Windows および Unix/Linux でコンパイルする必要がある Fortran コードを作成しています。Windows では、Eclipse/Photran と MinGW/gfortran ツールを使用して Makefile をセットアップしています。
目的のプロジェクト構造は次のとおりです (深いネスト ツリーのような Java のようなものはさらに優れています)。
dir1/src/*.f95
dir1/make/Makefile_lib1.any
dir1/make/Makefile_lib1.win
dir1/make/Makefile_lib1.unix
dir2/src/*.f
dir2/make/Makefile_lib2.any
dir2/make/Makefile_lib2.win
dir2/make/Makefile_lib2.unix
...
dir_main/src/*.f or *.f95
dir_main/make/Makefile_main.any
dir_main/make/Makefile_main.win
dir_main/make/Makefile_main.unix
を呼び出しmake Makefile_main.unix
て、Unix 固有の変数をセットアップし、、、... を含めMakefile_main.any
たいMakefile_lib1.any
と思います。
(Windowsでの作成と同様)
特定のディレクトリ内のすべてのソース ファイルを表示できる段階になりました。たとえば、
SRCS := $(wildcard $(SRC_DIR)/*.$(SRC_EXT))
Fortran 95 では各ソースが生成*.o
する*.mod
.
すべてのターゲット/依存関係の名前に dir-path が含まれないように、コンパイル時にディレクトリを切り替える方法はありますか? make
Eclipse プロジェクトが存在する他のサービス ディレクトリから呼び出していることに注意してください。続行する方法について何か提案はありますか?
私は本当に、コードと一緒に混乱したディレクトリを 1 つだけ持つという通常の Fortran スタイルを実行したくありません。