make 器允许 makefile 中使用通配符。
那就偿式使用 gmake。
如还不行的话, 就试试加入-f 选项,用 Makefile.list 作为 make 对像。
如: Make makelist Make –f makefile.list linux Gmake –f makefile.lst mac 2当你使用低水平的 makefile 时,可能由于对机器的设置不正确,会导致一些错误。
假如你的 平台叫“foo”的话,你将要在 MAKE 目录中创建一个 Makefile.foo。
使用任何一个与你机器相 近的文件作为开始总是一个不错的选择。
(3)如你在链接的时候出现库丢失或少了依赖关系的话,可能是由于: 你编译的包需要一个附加的库,但却没有事先编译需要的 package libaray. 你要链接的库在你的系统中不存在。
没有连接到必要的系统库 后两种问题出现,你就需要修改你的低水平 makefile.foo. 编辑一个新的低水平 makefile.foo: (1) 在后的句子中,替换 foo,不论你写成什么,这一行将会出现在屏幕上,如果你只输入 make 命令的话。
(2) 在“complier/linker settings”部分为你的 C编译器列出编译器与链接器的设置,包括优 化符号。
你可以在任何 UNIX 系统中使用 G编译器。
当然你也可以用 MPICC,如果你 的系统中安装了 MPI 的话。
如过在编译过程当中需要符加的库的话,你必需在 LIB 变量中列出来。
DEPFLAGS 设置可以让 C编译器创建一个源文件的依赖关系列表,当源文件或头文件改变的 时候可以加快编译速度。
有些编译器不能创建依赖关系列表,或者你可以用选项—D 来实现。
G可以使 用-D 。
如果 你的编译器 不能创建依 赖关系文件 的话,那么 你就需要创 建一 个 Makefile.foo 来与 Makefile.storm(它用一系列的不需要依赖文件的规划)相对应。
(3)“system-specific settings”部分有四个小部分: A LMP—INC 变量,包括一些与系统相关的条件选项。
B 3 个 MPI 变量用于指定 MPI 库。
如你要进行并行计算的话,那么你必须在你的平台上安上 MPI 库。
如你想用 MPI 内置 C编译 器的话,你可以让这三个变量空着,如你不用 MPICC 的话,那么,你要指定 MPI.hMPI_INC 文件在哪,MPIMPI_PATH库在哪,还有库名MPI_LIB. 如果你想自已安装 MPI 的话,我们建议用 MPICH1.2 或 2.0。
LAM MPI 也可以。
如果我的是大 平始的话,你的供应商已经为你装上了 MPI,其可能比 MPICH 或 LAM 更快,你可以把找出来 并与之链接。
如你用 LAM 或 MPICH,你必需要设置他并编译他使之适合你的平台。
如果你想在单处理器的机器上运行的话,你可以用 STIBS 库,这样你就可以不用在你的系统中 安装 MPI 库。
防照 makefile.serial,看是如果设置这三个变量的。
当然你在编译 LAMMPS 之前 你必需创建 STUBS 库。
在 STUBS 目录中,输入 make,不出错的话你将会得到一个 libmpi.a 文 件可供链接到 LAMMPS。
当出错,你则要修改 STUBS 下的 MAKEFILE。
STUBS/MPI.CPP 有一个 CPU 计时器 MPI_Wtime可以调用 gettimeofday. 如你的系统不支持 gettimeofday,则你就要插入一句代码来调用另一个计时器,要注意的是,clock函数在一个小 时之后会归 0,所以对于一个长时间的 LAMMPS 模拟来说这是不够用的。
C FTT 变量用于指定 FFT 库, 当要用到 kspace-style 命令来计算长程库伦作用时使用 PPPM 选项 时要用到。
要使用此选项,你必须要在你的机器上安装一个一维的 FFT 库。
可以能过开关—DFFT—XXX来指定,其中 XXXINTEL,DEC,SGI,SCSL,或 FFTW。
没有办法的情况下可以用供应商提供的库。
FFTW 是一个快速的,可移植性的库,它可以在任何一个平台上运行。
最好 2.1.X 本。
编译 FFTW 库时只要用./configuremake 就可以。
不任你是用哪一种 FFT 库, 你都要在 makefile.foo中正确的设置咱们的 FFT_INCFFT_PATHFFT_LIB。
当然,你如果不用 PPPM 的话,你将没有必要安装 FFT 库。
这种情况下,你可以把 FFT_INC 设成-DFFT-NONE 并让其它几个变量空着。
你也可以在编译 LAMMPS 时把 KSPACE 包剔除。
D 几个 SYSLIB 和 SYSPATH 变量你可以忽略,除非你在编译 LAMMPS 时其中有一个或几个包要用到附加的系统库。
所有这些包都的的名称都将会是 SYSLIB 和 SYSPATH 变量的前辍。
SYSLIB