我想重寫gfortran而不是g77的Makefile。如果我包括線如何在gfortran中使用include?
FCFLAGS += -I./include
然後查找,我沒有一個mod文件,但如果我省略該行無法找到它在./include目錄需要的文件。不知道如何解決這個問題...
CMD = tomoDD2
CC = gcc
FC = /usr/local/bin/gfortran
FCFLAGS = -g -fbounds-check
FCFLAGS = -O2
FCFLAGS += -I./include
SRCS = $(CMD).f \
aprod.f cluster_tomoDD.f covar.f datum.f \
delaz.f delaz2.f direct1.f dist.f exist.f \
freeunit.f getinp_tomoDD.f ifindi.f \
indexxi.f juliam.f syn_time_new.f\
lsqr.f matmult1.f matmult2.f matmult3.f mdian1.f \
normlz.f ran.f redist.f refract.f \
resstat_tomoDD.f scopy.f sdc2.f setorg.f \
snrm2.f sort.f sorti.f sscal.f \
svd.f tiddid.f trialsrc_tomoDD.f trimlen.f \
ttime.f vmodel.f Ray3VD.f \
getdata_tomoDD.f add_sta.f find_id.f \
dtres_tomoDD.f weighting_tomoDD_lw.f lsfitH_tomoDD_lsqrn.f
CSRCS = atoangle_.c atoangle.c ndatetime_.c nhypot_.c nrpad_.c \
sscanf3_.c
OBJS = $(SRCS:%.f=%.o) $(CSRCS:%.c=%.o)
INCLDIR = ./include
all: $(CMD)
$(CMD): $(OBJS)
$(FC) $(OBJS) $(LIBS) -o [email protected]
%.o: %.f
$(FC) $(FCFLAGS) -c $(@F:.o=.f) -o [email protected]
# $(FC) $(FCFLAGS) -c $<
clean:
-rm -f $(CMD) *.o core a.out *.fln junk
*「那麼它會查找我沒有的.mod文件,但是如果我省略該行,則無法在./include目錄中找到它所需的文件」*我完全不理解。哪個模塊?如果你有一些錯誤消息顯示他們請請。還顯示與這些消息相關的任何代碼。 –
如何將所需文件移動到默認搜索路徑(即當前目錄)上的某個位置。 – agentp