关于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 不存在?