这个makefile帮我解释一下

myjianghe 2010-05-30 08:20:26
以前没有做过 LINUX下项目,一时间看不明白MAKEFILE文件。请帮我解释一下。谢谢各位了
--?是我的疑问
如下:
TRANLIB= "-l ${APPDIR}/libtransact.a"--?1TRANLIB是变量吗,后面怎么还有引号#XMLLIB=-l /software/lib/libxml2.a -l /software/lib/libiconv.a
XMLLIB=-l libxml2.a -l libiconv1.a--?2这是什么意思
#INCLUDE= "-I/software/libxml/include -I/software/libxml/libiconv-1.9.1/include -I${TUXDIR}include -I{$SYBASE}/${SYBASE_OCS}/include -I/software/libxml/libiconv-1.9.1/src -I/software/libxml/libiconv-1.9.1"

CFLAGS=-qcpluscmt -O -I/${TUXDIR}/dev/libxml/include/libxml2/ -I${TUXDIR}/dev/include -I/sybase/OCS-12_5/include -I/${TUXDIR}/dev/libiconv/include -I/${TUXDIR}/dev/libiconv -I/${TUXDIR}/dev/libiconv-1.9.1/src -I/${TUXDIR}/dev/libiconv-1.9.1/srclib
--?上句话中${TUXDIR}中的TUXDIR怎么来的
all:PROC_ENCODE DECODE_CTRL VAIL_STAT UPDATE simpcl cltstat

DECODE_CTRL:DECODE_CTRL.c
buildserver -o $@ -f $@.c ${TRANLIB} ${XMLLIB} -s $@ --?$@是什么,buildserver 是什么

VAIL_STAT:VAIL_STAT.c
buildserver -o $@ -f $@.c -s $@

UPDATE:UPDATE.c
buildserver -o $@ -f $@.c -l strtree.o -l ${APPDIR}/inifiles.o -s $@

PROC_ENCODE:PROC_ENCODE.c
buildserver -o $@ -f $@.c -l ${APPDIR}/exutils.o -l ${APPDIR}/inifiles.o -l ${APPDIR}/sunyard.o -l ${SYBASE}/${SYBASE_OCS}/lib/libct64.a -l ${SYBASE}/${SYBASE_OCS}/lib/libcs64.a -l ${SYBASE}/${SYBASE_OCS}/lib/libblk64.a -l ${SYBASE}/${SYBASE_OCS}/lib/libcomn64.a -l ${SYBASE}/${SYBASE_OCS}/lib/libintl64.a -l ${SYBASE}/${SYBASE_OCS}/lib/libtcl64.a ${TRANLIB} ${XMLLIB} -s $@

simpcl:simpcl.c
buildclient -w -v -o $@ -f $@.c

simulate:simulate.c
buildclient -w -o $@ -f $@.c
clean:
-rm DECODE_CTRL DECODE_CTRL.o
-rm VAIL_STAT VAIL_STAT.o
-rm PROC_ENCODE PROC_ENCODE.o

tran:transact.c
# xlC_r -O -q64 -D_LARGE_FILES -D__XCOFF32__ -D__XCOFF64__ -rtl -qstaticinline -c transact.c
cc -O -c transact.c
ar -X64 rv libtransact.a transact.o
# xlC_r -O -c transact.c

bk:*.c *.h Makefile ubb.acc setenv
bk
touch bk
tt:tt.c
cc -O -o tt tt.c
cltstat:cltstat.c
cc -O -o $@ $@.c

up:PROC_ENCODE DECODE_CTRL VAIL_STAT cltstat
up && touch up

#sdklic:
# cp ${TUXDIR}/udataobj/lic81d.txt ${TUXDIR}/udataobj/lic.txt
#rtklic:
# cp ${TUXDIR}/udataobj/lic81r.txt ${TUXDIR}/udataobj/lic.txt
tuxwtcl:tuxwtcl.c
xlC_r -qcpluscmt -O -I${TUXDIR}/include -o $@ -qstaticinline -L${TUXDIR}/lib -q64 -D_LARGE_FILES -D__XCOFF32__ -D__XCOFF64__ $@.c -brtl ${TUXDIR}/lib/wstpinit.o -lwsc -lbuft -lwsc -lgpnet -lTcp -lfml -lfml32 -lengine -lpthread
tcpsscn:tcpsscn.c
xlC_r -o $@ -I${TUXDIR}/include -L${TUXDIR}/lib -lTcp $@.c


能详细解释就请详细些,谢谢
...全文
139 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
spfbc 2010-05-30
  • 打赏
  • 举报
回复
只研究过一些最简单的makefile,╮(╯▽╰)╭
jufeng2309 2010-05-30
  • 打赏
  • 举报
回复
1、加不加引号都可以
TRANLIB= -l ${APPDIR}/libtransact.a
2、XMLLIB=-l libxml2.a -l libiconv1.a
这个只是指定了XML的解析库的两个LIB
3、${TUXDIR}这个可能是你装软件的时候设的
具体可以echo ${TUXDIR}看一下。
4、$@--目标文件;

yangb2014# 2010-05-30
  • 打赏
  • 举报
回复
网上有makefile的手册的,

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧