ksfengjia 发表于 2018-5-21 14:59:42

Fortran的makefile文件中如何处理.mod

#主要makefile的整体实现,$(objects)是所有的.o 文件集
obj/%.o : src/%.f90
   mkdir -p obj/; ifort -cpp -c $< -o $@
$(program): $(objects)
   ifort $(objects) -o $@

问题:现在处理过程中.mod文件均生成在根目录中,
如何在makefile处理过程中将.mod文件放到单独的文件夹中,并进行编译.o文件

pasuka 发表于 2018-5-21 15:09:50

lz若是在Windows平台下用VS+IVF编译环境,建议直接IDE里面处理,没必要折腾Makefile
若是在Linux平台下,那么先看完make入门介绍
http://www.gnu.org/software/make/manual/make.html

ksfengjia 发表于 2018-5-21 15:40:29

pasuka 发表于 2018-5-21 15:09
lz若是在Windows平台下用VS+IVF编译环境,建议直接IDE里面处理,没必要折腾Makefile
若是在Linux平台下,那 ...

程序想在win和linux两个平台下编译,win平台使用IDE处理是没有问题的。
基础的makefile是学习过一些,主要是在linxu平台下,使用自动化变量进行处理时,想把.mod文件单独放置时,.o文件编译过不去,不知道如何处理。
希望大神有没有简单的示例,或者github上开源的makefile文件,给一定的启示?

pasuka 发表于 2018-5-21 15:47:30

本帖最后由 pasuka 于 2018-5-21 15:50 编辑

ksfengjia 发表于 2018-5-21 15:40
程序想在win和linux两个平台下编译,win平台使用IDE处理是没有问题的。
基础的makefile是学习过一些,主 ...
原来是希望跨平台编译,那么直接上CMAKE一步到位
https://cmake.org/

胡文刚 发表于 2018-5-21 16:14:42

-module path
指定 .mod 文件生成的路径
-I
指定搜索 .mod 文件的路径

ksfengjia 发表于 2018-5-21 16:14:49

pasuka 发表于 2018-5-21 15:47
原来是希望跨平台编译,那么直接上CMAKE一步到位
https://cmake.org/

不使用cmake,自己写makefile,目标不是实现,是能力提升,自己要能理清编译逻辑。
想解决的是实际问题是makefile过程中,用不同文件夹分开放置.o、.mod文件,.o文件放置没有问题,.mod文件如何放置、处理不大会

FreemanArthur 发表于 2020-7-5 14:34:05

胡文刚 发表于 2018-5-21 16:14
-module path
指定 .mod 文件生成的路径
-I


-module path
怎么理解?
我尝试了
-J path 可以指定生成路径; -I path 可以指定搜索路径
页: [1]
查看完整版本: Fortran的makefile文件中如何处理.mod