安靖 发表于 2014-5-27 21:49:48

利用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:11

直接修改makefile即可

楚香饭 发表于 2014-5-28 09:18:17

用 Linux 系统命令完成。

rm -f *.o *.mod

安靖 发表于 2014-5-28 11:05:42

我就是想用make clean命令能够清楚,所有make产生的东西,包括 *.o *.mod文件。

修改makefile和直接linux命令是可以做到,但是这就失去了使用automake工具的意义了

yeoman 发表于 2014-5-28 17:41:18

虽然没有用过automake,但是我只是想说,有些高级的工具,不见得就完全替代低级的工具的功能,PS:automake不是万能的

岸边的鱼 发表于 2014-5-28 21:42:21

本帖最后由 岸边的鱼 于 2014-5-28 21:44 编辑

automake最初是用来生成c语言的makefile文件的,不能自动删除“*.mod”文件,如果需要删除“*.mod”文件的话,建议手动删除。或者修改makefile文件,也可以达到目的。实际中,是可以办到自动删除mod的,只是需要修改的东西太多了,不划算

安靖 发表于 2014-5-29 16:06:11

岸边的鱼 发表于 2014-5-28 21:42
automake最初是用来生成c语言的makefile文件的,不能自动删除“*.mod”文件,如果需要删除“*.mod”文件的 ...

了解了,看来还是只能手动删除了。
多谢

安靖 发表于 2014-6-22 21:44:38

后来自己仔细看了下通过automake自动产生的Makefile文件,找到方法了。

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

只需在Makefile.am文件中重新定义下即可在调用make clean命令会自动删除所有的obj文件(*.o)和*.mod文件。
mostlyclean-compile:
        -rm -f *.$(OBJEXT) *.mod
页: [1]
查看完整版本: 利用automake工具编译fortran工程,如何自动删除mod文件