首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

关于makefile的异常.

2012-02-26 
关于makefile的错误...哪位大哥大姐帮我看看错误刚接触makefile也不知道怎么解决.AGDEV62@/bench/gpf$ lsD

关于makefile的错误...
哪位大哥大姐帮我看看错误刚接触makefile也不知道怎么解决.

AGDEV62@/bench/gpf$ ls
DMFuction_end.bc DMInclude_end.h DMT_end DMT_end.dc DMTransfer_end.dc ccda_end.ini extract_end.sh makefile
AGDEV62@/bench/gpf$ make DMT_end
Target "DMT_end" is up to date.
AGDEV62@/bench/gpf$ make
  rm -f *.o *.c *.sqc *.bnd *.ccs
  for af in *.bc; do make `basename $af .bc`.o; done
  xlc_r -g -I/bench/include -c DMFuction_end.c -D_DB2 -DCICS_AIX -I/bench/include -I/opt/IBM/cicstg/include -I/usr/lpp/cics/include -I/opt/IBM/db2/V9.1/include -I/opt/IBM/db2/V9.1/include32  
  ar -X32 -r -u -v /bench/lib/libTF.a DMFuction_end.o 
r - DMFuction_end.o
  for bf in *.dc; do make `basename $bf .dc`.ccs; done
  make -f /bench/pub/make.exe DMT_end.ccs
  db2prep DMT_end

  Database Connection Information

 Database server = DB2/AIX64 9.1.5
 SQL authorization ID = BENCH
 Local database alias = IBORA


LINE MESSAGES FOR DMT_end.sqc
------ --------------------------------
  SQL0060W The "C" precompiler is in progress.
  225 SQL4001N The character " " in column "22" on line "225" is 
  not valid.
  SQL0095N No bind file was created because of previous 
  errors.
  SQL0091W Precompilation or binding was ended with "2" 
  errors and "0" warnings.

LINE MESSAGES FOR DMT_end.bnd
------ --------------------------------
  SQL0061W The binder is in progress.
  SQL0031C File "/bench/gpf/DMT_end.bnd" could not be opened.
  SQL0082C An error has occurred which has terminated 
  processing.
  SQL0092N No package was created because of previous errors.
  SQL0091N Binding was ended with "3" errors and "0" warnings.
DB20000I The SQL command completed successfully.
DB20000I The TERMINATE command completed successfully.
  xlc_r -g -D_DB2 -DCICS_AIX -I/bench/include -I/opt/IBM/cicstg/include -I/usr/lpp/cics/include -I/opt/IBM/db2/V9.1/include -I/opt/IBM/db2/V9.1/include32 -D_LARGE_FILES -o DMT_end DMT_end.c -I/bench/include -L/bench/lib -L/opt/IBM/cicstg/lib -L/usr/lpp/cics/lib -L/opt/IBM/db2/V9.1/lib32 -lIBadv -lIBdb -lIBcom -lIBbase -lIBcommon -lIBtrace -lIBenc -lIBpub -lIBpub1 -lIButils -lpthreads -lcicsrt -lcclaix -ldb2 -lc -lTF  
mv: 0653-401 Cannot rename DMT_end.bnd to /bench/bnd/DMT_end.bnd:
  A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 1.


Stop.
make: 1254-004 The error code from the last command is 2.


Stop.

在UNIX下写的C程序用makefile 报下面的错 代码应该没有什么问题 我只是稍微的修改了一下makefile也是别人写的
makefile:
# ============================
# 生成可执行程序
# ============================

include $(IBENCHDIR)/pub/ibench.mk

LIBDIR=$(IBENCHDIR)/lib
DMLIBDIR=$(ALIBDIR)
DMADLIBS=$(ADLIBS) -lDM 
DMINC=$(IBENCHDIR)/include
DMFLAG=-I$(DMINC) $(DMLIBDIR) $(DMADLIBS) 
DMTARGET=libDM.a
DSUF=dc


all:
@make clean
for af in *.$(IBSUF); do\
make `basename $$af .$(IBSUF)`.$(OBJSUF);\
done
for bf in *.$(DSUF); do\
make `basename $$bf .$(DSUF)`.$(MIDSUF);\
done
@echo "Compilation complete!" 


clean:
rm -f *.$(OBJSUF) *.$(CSUF) *.$(DBSUF) *.bnd *.$(MIDSUF)

.$(IBSUF).$(OBJSUF):
@cp -f $*.$(IBSUF) $*.$(CSUF)


$(CC) -g -I$(DMINC) -c $*.$(CSUF) $(CCFLAG) 
ar -X32 -r -u -v $(LIBDIR)/$(DMTARGET) $@ 
@rm -f $*.$(CSUF) $*.$(OBJSUF)

.$(DSUF).$(MIDSUF):
make -f $(IBENCHDIR)/pub/make.exe $*.$(MIDSUF)
@mv -f $*.$(MIDSUF) $*.$(CSUF)
$(CC) -g $(CCFLAG) -D_LARGE_FILES -o $* $*.$(CSUF) $(DMFLAG) 
@rm -f $*.$(CSUF) $*.$(DBSUF)
@mv -f $*.bnd $(IBENCHDIR)/bnd 
@mv -f $* $(IBENCHDIR)/bin 
-----------------------------------------------------------
ibench.mk:

IBSUF=bc
CSUF=c
SYBSUF=cpre
INFSUF=ec
ORASUF=pc
DB2SUF=sqc
OBJSUF=o
DLIBSUF=so
CICSUF=ccs
KBIT=32

.SUFFIXES: .$(CSUF) .$(SYBSUF) .$(INFSUF) .$(ORASUF) .$(DB2SUF) .$(OBJSUF) .$(CICSUF) .$(IBSUF) .$(DLIBSUF) .dc

IBNAME= IBENCH
IBVERSION= 4.0

MIDWARE= CICS
MIDVERSION= 6.2

DBNAME= DB2
DBVERSION= 9.1

OSNAME= AIX
OSVERSION= 5.3.0

ORAFLAG= _Oracle
SYBFLAG= _Sybase
INFFLAG= _Informix
DB2FLAG= _DB2

MAKEPATH= $(IBENCHDIR)/pub/standard/$(MIDWARE)

include $(MAKEPATH)/$(IBNAME)$(IBVERSION).mk
include $(MAKEPATH)/$(MIDWARE)$(MIDVERSION).mk
include $(MAKEPATH)/$(DBNAME)$(DBVERSION).mk
include $(MAKEPATH)/$(OSNAME)$(OSVERSION).mk

AINCDIR= $(IBINC) $(MIDINC) $(DBINC) $(APPINC)
INCDIR= $(AINCDIR)
ALIBDIR= $(IBLIBDIR) $(MIDLIBDIR) $(DBLIBDIR) $(APPLIBDIR)
ALIBS= $(APPLIBS) $(IBLIBS) $(MIDLIBS) $(DBLIBS) -lc
ADLIBS= $(APPDLIBS) $(IBDLIBS) $(MIDDLIBS) $(DBDLIBS) -lc
CFLAGS= -DCICS_AIX $(AINCDIR) $(ALIBDIR)
CCFLAG= -D$(DBFLAG) -DCICS_AIX $(AINCDIR)

.dc.$(DBSUF):
@cp -f $*.dc $@

.$(IBSUF).$(MIDSUF):
@cp -f $*.$(IBSUF) $@

差不多就是这样的 恳请大哥大姐帮我看看 
谢谢了 另外如果有关于这方面的文档请对我说说 刚接触这方面的知识所以.....非常感谢!!!!!

[解决办法]
mv: 0653-401 Cannot rename DMT_end.bnd to /bench/bnd/DMT_end.bnd:
A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 1.
-------------
其中有这么一段 从这里看出/bench/bnd/这个目录并不存在呢
[解决办法]
也许前面的DMT_end.bnd 不存在?

热点排行