Fortran Coder

标题: 利用automake工具编译fortran工程,如何自动删除mod文件 [打印本页]

作者: 安靖    时间: 2014-5-27 21:49
标题: 利用automake工具编译fortran工程,如何自动删除mod文件
第一次来这里请教大家,不知这个问题合不合版规。

我用automake工具编译一个fortran工程。程序的编译,以及安装,运行都没有问题。但是调用make clean命令时,有一些疑问。

调用make clean命令会自动删除所有的obj文件(*.o),但是*.mod文件不会删除。
怎么修改configure.ac或者makefile.am,使make clean能够删除*.mod


作者: aliouying    时间: 2014-5-28 09:14
直接修改makefile即可
作者: 楚香饭    时间: 2014-5-28 09:18
用 Linux 系统命令完成。

rm -f *.o *.mod
作者: 安靖    时间: 2014-5-28 11:05
我就是想用make clean命令能够清楚,所有make产生的东西,包括 *.o *.mod文件。

修改makefile和直接linux命令是可以做到,但是这就失去了使用automake工具的意义了
作者: yeoman    时间: 2014-5-28 17:41
虽然没有用过automake,但是我只是想说,有些高级的工具,不见得就完全替代低级的工具的功能,PS:automake不是万能的
作者: 岸边的鱼    时间: 2014-5-28 21:42
本帖最后由 岸边的鱼 于 2014-5-28 21:44 编辑

automake最初是用来生成c语言的makefile文件的,不能自动删除“*.mod”文件,如果需要删除“*.mod”文件的话,建议手动删除。或者修改makefile文件,也可以达到目的。实际中,是可以办到自动删除mod的,只是需要修改的东西太多了,不划算
作者: 安靖    时间: 2014-5-29 16:06
岸边的鱼 发表于 2014-5-28 21:42
automake最初是用来生成c语言的makefile文件的,不能自动删除“*.mod”文件,如果需要删除“*.mod”文件的 ...

了解了,看来还是只能手动删除了。
多谢
作者: 安靖    时间: 2014-6-22 21:44
后来自己仔细看了下通过automake自动产生的Makefile文件,找到方法了。

单纯通过automake产生的Makefile文件中,有一行定义即是指定make clean时要删除的文件
mostlyclean-compile:
        -rm -f *.$(OBJEXT)

只需在Makefile.am文件中重新定义下即可在调用make clean命令会自动删除所有的obj文件(*.o)和*.mod文件。
mostlyclean-compile:
        -rm -f *.$(OBJEXT) *.mod




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2