[问题] 无法输出output(已写好的档案)

楼主: adu (^_^)   2018-04-26 15:30:11
我拿到一份写好的档案要试跑
理论上应该执行就好了 不过我怎么试 make 或 gfortran 都没有 output file 产生
请问问题可能出在哪里 还是我该用别的指令?
(资料在 cabbagel.F
主程式会呼叫一个叫做 parfit的资料夹里面的档案
结果应该要产生成一个档案
我在Ubuntu 下打 make 或 make cabbagel 或 改成gfortran ,会跑但都没有产生)
__下面是主程式的makefile__
# Makefile for PARFITS
# version including handling of implicit switches
MAKE = make
FC = gfortran
TRAJEC = traj.o
BLASM = ./parfits/blasm/blas.o \
./parfits/blasm/mutil.o \
./parfits/blasm/dgesvd1.o
INTEGR1 = ./parfits/integr/metanb.o
# INTEGR2 = ./parfits/integr/difsys.o (not available)
PARFITS = ./parfits/parfits.o \
./parfits/monitn.o \
./parfits/initju.o \
./parfits/hcut.o \
./parfits/inscal.o \
./parfits/rankr.o \
./parfits/evalc.o \
./parfits/ssai.o \
./parfits/chscal.o \
./parfits/calcom.o \
./parfits/ind.o \
./parfits/intj.o \
./parfits/idcon.o \
./parfits/qdiff.o \
./parfits/hdiff.o \
./parfits/update.o \
./parfits/fd.o \
./parfits/yallfunc.o \
./parfits/upmult.o \
./parfits/exit.o
INCREM = ./parfits/increm/increm4.o \
./parfits/increm/inc4_l2.o \
./parfits/increm/inc4_l1.o \
./parfits/increm/inc4_l3.o \
./parfits/increm/dec4_l2.o \
./parfits/increm/sol_l2.o \
./parfits/increm/sol_l1.o \
./parfits/increm/sol_l3.o \
./parfits/increm/dminv_l1.o \
./parfits/increm/qpsol.o \
./parfits/increm/lpckk.o \
./parfits/increm/qpckk.o \
./parfits/increm/qpckk1.o \
./parfits/increm/qpckk2.o \
./parfits/increm/crj.o
COV = ./parfits/cov/cov.o \
./parfits/cov/cov4.o \
./parfits/cov/covtot.o
PRINT = ./parfits/print/print.o \
./parfits/print/prtmain.o \
./parfits/print/prthead.o \
./parfits/print/prtit.o \
./parfits/print/prtmatrix.o \
./parfits/print/prtmatrixlp.o \
./parfits/print/prtmatrixhp.o \
./parfits/print/prtmatrixint.o
PYMETS = pymets.o
PYMET2S = pymet2s.o
CABBAGEL = cabbagel.o
CABBAGEQ = cabbageq.o
CABBAGELLL = cabbagelll.o
CABBAGEQQQ = cabbageqqq.o
PYMETDS = $(PYMETS) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM)
$(PRINT) $(TRAJEC)
PYMET2DS = $(PYMET2S) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM)
$(PRINT) $(TRAJEC)
CABBAGDL = $(CABBAGEL) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM)
$(PRINT) $(TRAJEC)
CABBAGDQ = $(CABBAGEQ) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM)
$(PRINT) $(TRAJEC)
CABBAGDLLL = $(CABBAGELLL) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM)
$(PRINT) $(TRAJEC)
CABBAGDQQQ = $(CABBAGEQQQ) $(PARFITS) $(INCREM) $(COV) $(INTEGR1) $(BLASM)
$(PRINT) $(TRAJEC)
FFLAGS = -c -g -Wall
CCFLAGS = -c -g -Wall
#LDFLAGS = -Wall
all: pymets pymet2s \
cabbagel cabbageq \
cabbagelll cabbageqqq
pymets: lkmaxdim mkparfits $(PYMETDS)
[email protected]$(FC) $(PYMETDS) $(LDFLAGS) -o [email protected]
pymet2s: lkmaxdim mkparfits $(PYMET2DS)
[email protected]$(FC) $(PYMET2DS) $(LDFLAGS) -o [email protected]
cabbagel: lkmaxdim mkparfits $(CABBAGDL)
[email protected]$(FC) $(CABBAGDL) $(LDFLAGS) -o [email protected]
cabbageq: lkmaxdim mkparfits $(CABBAGDQ)
[email protected]$(FC) $(CABBAGDQ) $(LDFLAGS) -o [email protected]
cabbagelll: lkmaxdim mkparfits $(CABBAGDLLL)
[email protected]$(FC) $(CABBAGDLLL) $(LDFLAGS) -o [email protected]
cabbageqqq: lkmaxdim mkparfits $(CABBAGDQQQ)
[email protected]$(FC) $(CABBAGDQQQ) $(LDFLAGS) -o [email protected]
mkparfits:
[email protected] parfits;$(MAKE) parfit
lkmaxdim:
[email protected] "Link auf maxdim wird gesetzt."
[email protected] maxdim.f -f
ln -s ./parfits/maxdim.f maxdim.f
clean:
$(MAKE) clean -C ./parfits
rm maxdim.f -f
rm *.o -f
rm fort.* -f
rm pymets.f -f
rm pymet2s.f -f
rm cabbagel.f -f
rm cabbageq.f -f
rm cabbagelll.f -f
rm cabbageqqq.f -f
rm delays.f -f
rm traj.f -f
rm pymets -f
rm pymet2s -f
rm cabbagel -f
rm cabbageq -f
rm cabbagelll -f
rm cabbageqqq -f
# Following lines provide automatic invocation of the
# C preprocessor cpp for FORTRAN files with suffix .F
# (Default on most UNIX platforms, but not on IBM's)
# define preprocessor
CPP = /lib/cpp
# compiler option for preprocessor
CPFLAGS = -P
.SUFFIXES: .F
.F.o:
[email protected]$(CPP) $(CPFLAGS) $< $*.f
$(FC) $(FFLAGS) $*.f
[email protected] -f $*.f
.f.o:
[email protected]$(FC) $(FFLAGS) $*.f
.c.o:
$(CC) $(CCFLAGS) $*.c
作者: blc (Anemos)   2018-04-26 17:31:00
好像没有用来执行程式的target?
作者: Cypresslin (啊哈哈~~)   2018-04-27 00:33:00
有错误讯息吗?
作者: blc (Anemos)   2018-04-27 20:24:00
这个makefile只有做编译而已,要自己手动执行编好的程式
楼主: adu (^_^)   2018-04-27 21:19:00
请问手动执行的意思是?
作者: rex0707 (我就是我)   2018-04-27 23:43:00
要自己开启执行档来执行程式的意思吧 执行执行档之后才会产生output filecabbagel, cabbageq, pymet2s, pymets都是.exe? .out?
楼主: adu (^_^)   2018-04-28 02:07:00
他们都是没有附档名的档案 用editor开都是乱码
作者: rex0707 (我就是我)   2018-04-28 13:31:00
欧欧看到你是用ubuntu 执行档案就打./cabbagel就可以了吧

Links booklink

Contact Us: admin [ a t ] ucptt.com