Make文件夹是OpenFOAM特有的,里面主要包含两个文件files和options;
files用来指定OpenFOAM顺序进行编译的文件名称以及路径;
options用来指定OpenFOAM需要调用的外挂库的路径以及名称;
EXE_INC = \
//有限容积法头文件存放文件夹路径
-I$(LIB_SRC)/finiteVolume/lnInclude \
//网格工具头文件存放文件夹路径
-I$(LIB_SRC)/meshTools/lnInclude
EXE_LIBS = \
//需要链接的库
-lfiniteVolume \
-lmeshTools
几点注意事项:
1.每个文件夹路径的前面都有一个-I 的标签,在 EXE_INC 之后以及每个文件路径后需要使用 \ ,最后的文件路径后没有 \ 。
2.文件夹路径必须正确,否则进行编译时会因为找不到头文件而报错
3.库文件路径使用-L 标识符指定,库名称使用-l 标识符指定,其基本形式如下图所示:
LIB_LIBS = \ -L<libraryPath1> \
-l<library1> \
-l<library2> \
... \
-l<libraryN>
4.当库文件不在默认路径$FOAM_LIBBIN下才需要指定库文件路径
icoFoam.C
EXE = $(FOAM_APPBIN)/icoFoam
Make/files 中必须指定完整的以.C 为后缀的文件列表。许多程序的文件列表只有主程序的文件名。例如,我们之前的例子的文件列表中只有 icoFoam.C
。
Make/files 文件包含了需要进行编译的程序全路径以及名字(用 *EXE =
* 来指定)。标准做法是使用求解器的名字,这里我们使用 icoFoam。OpenFOAM 提供了两种可选的路径,一个是标准的路径,编译好的求解器存储在$FOAM_APPBIN
中;另一个是用户自己的路径存储在$FOAM_USER_APPBIN
以上内容参考了https://www.jianguoyun.com/p/Db9X08cQ9s3ZBhjMtpwC