可以自动检测fortran的src文件和依赖项

时间:2015-01-24 14:07:18

标签: makefile fortran automake

我正在尝试使用gnu-autotools构建我的fortran项目。 最初,我在Makefile.am中手动提供所有依赖:

bin_PROGRAMS = kkr
kkr_SOURCES =   src/constants.f90       src/init.f90        src/util.f90\
                src/main.f90            src/symgen.f90      src/mainmodule.f90 \
                src/gengrp.f90          src/linops.f90      src/gencrystal.f90\
                src/seitz.f90           src/spgdat.f90      
src/constants.o : src/constants.f90 
src/gencrystal.o : src/gencrystal.f90 src/gengrp.o src/spgdat.o src/symgen.o src/mainmodule.o src/constants.o 
src/gengrp.o : src/gengrp.f90 src/util.o src/seitz.o src/constants.o 
src/init.o : src/init.f90 src/util.o src/constants.o src/mainmodule.o 
src/linops.o : src/linops.f90 src/mainmodule.o src/constants.o 
src/main.o : src/main.f90 src/gencrystal.o src/init.o src/mainmodule.o src/constants.o 
src/mainmodule.o : src/mainmodule.f90 src/constants.o 
src/seitz.o : src/seitz.f90 src/mainmodule.o src/constants.o 
src/spgdat.o : src/spgdat.f90 src/util.o src/constants.o src/mainmodule.o 
src/symgen.o : src/symgen.f90 src/util.o src/constants.o src/mainmodule.o 
src/util.o : src/util.f90 src/constants.o 
kkr_LDADD = 
EXTRA_DIST= autogen.sh
CLEANFILES =*.mod 

但很快它的痛苦就会有所帮助。所以,我正在尝试编写Makefile.am,它将检查源代码和构建的依赖项。

我用google搜索,似乎有一个依赖关系的通配符,如{+ 3}}对于c ++和here ..但这些是针对Makefile而不是Makefile.am。

我正在尝试像

这样的东西
bin_PROGRAMS = kkr
kkr_SOURCES = $(wildcard ./src/*.f90)

但是,现在,它没有构建:

$ make
make  all-am
make[1]: Entering directory '${HOME}/Programs/dream'
gcc  -g -O2   -o kkr   -llapack 
/usr/lib/gcc/x86_64-redhat-linux/4.9.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'

请帮助。

0 个答案:

没有答案