linux mod文件,如何一起编译 .mod 文件和 .o文件

我想先说明一下,我也不知道什么原因我在其他板块不能发帖,只有这一个板块可以发,如果有冒犯,还请大家谅解。

我的程序里面会有一个自带的makefile 文件,但是在子程序里面有调用模块 (命令是 use PES),这里调用的是 pes.mod 文件,但是用makefile文件编译的时候并没有把 pes 程序编译进去,所以想请问大家怎么修改makefile文件 才能把调用的 .mod 文件也编译进去。  谢谢大家

下面是makefile文件:

SHELL = /bin/sh

CC = gcc

FC = ifort

LINEAR_ALGEBRA = MKL

#

# Intel MKL:

#

MKL_LIB=$(MKLROOT)/lib/intel64

MKL_INC=$(MKLROOT)/mkl/include

ifeq ($(FC), ifort)

LINEAR_ALGEBRA_LIB = -mkl=parallel -L$(MKL_LIB) -I$(MKL_INC) -Wl,--start-group $(MKL_LIB)/libmkl_intel_lp64.a $(MKL_LIB)/libmkl_intel_thread.a $(MKL_LIB)/libmkl_core.a $(MKL_LIB)/libmkl_blas95_lp64.a $(MKL_LIB)/libmkl_lapack95_lp64.a -Wl,--end-group -fopenmp -lpthread

endif

ifeq ($(FC), gfortran)

LINEAR_ALGEBRA_LIB = -Wl,--start-group $(MKL_LIB)/libmkl_gf_lp64.a $(MKL_LIB)/libmkl_sequential.a $(MKL_LIB)/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl

endif

#

# MAGMA library:

#

MAGMAROOT = /usr/local/magma

CUDAROOT = /usr/local/cuda

ifeq ($(LINEAR_ALGEBRA), MAGMA)

LINEAR_ALGEBRA_INC += -I$(CUDAROOT)/include -I$(MAGMAROOT)/include -DADD_

LINEAR_ALGEBRA_LIB += -L$(MAGMAROOT)/lib -L$(CUDAROOT)/lib64 -lmagma -lm

endif

#

# Rules:

#

all: abc link

use_magma: abc dgemm dsyev syminv dsyr link

abc:

$(FC) -O3 *.f90 -c

@echo

link:

$(FC) *.o -o abc.out $(LINEAR_ALGEBRA_LIB)

@echo

WRAPPERS_DIR = wrappers

dgemm: $(WRAPPERS_DIR)/dgemm.c $(WRAPPERS_DIR)/wrappers.h $(WRAPPERS_DIR)/c_lib.h

$(CC) -W -Wall -std=c99 -pedantic -O3 $(LINEAR_ALGEBRA_INC) -c $<

@echo

dsyev: $(WRAPPERS_DIR)/dsyev.c $(WRAPPERS_DIR)/wrappers.h $(WRAPPERS_DIR)/c_lib.h

$(CC) -W -Wall -std=c99 -pedantic -O3 $(LINEAR_ALGEBRA_INC) -c $<

@echo

syminv: $(WRAPPERS_DIR)/syminv.c $(WRAPPERS_DIR)/wrappers.h $(WRAPPERS_DIR)/c_lib.h

$(CC) -W -Wall -std=c99 -pedantic -O3 $(LINEAR_ALGEBRA_INC) -c $<

@echo

dsyr: $(WRAPPERS_DIR)/dsyr.c $(WRAPPERS_DIR)/wrappers.h $(WRAPPERS_DIR)/c_lib.h

$(CC) -W -Wall -std=c99 -pedantic -O3 $(LINEAR_ALGEBRA_INC) -c $<

@echo

clean:

rm -f *.o *.out

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值