网上找了很久proc+ tuxedo 的Makefile例子,没有找到,后来这个问题解决了,呵呵!
不容易啊,风格一下吧,把那个简单的Makefile例子贴到这里来了,希望大家共勉~
#在backstage文件夹下存在 ser_ini_sys.pc文件,并写了INI_PRE服务(tuxedo)
#路径设置
TUXDIR=C:/BEA/TUXEDO8.1
MSDEVDIR="C:/Program Files/Microsoft Visual Studio/Common/MSDev98"
ORACLE_HOME=E:/oracle/product/10.2.0/db_1
#设置包含的编译头文件(include set )
SYSINCLUDE =$(MSDEVDIR)/../../vc98/include
ORACLE_INCLUDE=$(ORACLE_HOME)/precomp/public
TUXEDO_INCLUDE=$(TUXDIR)/include
LIB= $(ORACLE_HOME)/precomp/LIB/MSVC/oraSQL10.lib
#copiler set
CFLAGS=-DWIN32 -MD -W3 -nologo -DNOWHAT=1 -c -D_$(SVCNAME)
#oracle 的用户名密码和服务名
USERID=ds/ds@orcl
PROCPLSFLAGS=PARSE=FULL ORACA=YES LINES=YES sqlcheck=full MODE=ORACLE DBMS=V8 UNSAFE_NULL=YES HOLD_CURSOR=NO RELEASE_CURSOR=YES userid=$(USERID)
PROC=proc
CC=cl
#设置当前编译文件路径
VPATH="../backstage"
.SUFFIXES: .h .pc .obj
#目标文件
all:ser_ini_sys.exe
#buildserver编译tuxedo服务
ser_ini_sys.exe:ser_ini_sys.obj
buildserver -v -s INI_SYS -o ser_ini_sys.exe -f ser_ini_sys.obj -f "$(LIB)"
#proc编译vpath目录下所有.pc文件
.pc.c:
$(PROC) $(PROCPLSFLAGS) INCLUDE=$(SYSINCLUDE) INCLUDE=$(ORACLE_INCLUDE) INCLUDE=$(TUXEDO_INCLUDE) $< oname=$*.c
#必须添加SYSINCLUDE、ORACLE_INCLUDE、TUXEDO_INCLUDE三个,一个都不能少~~
ser_ini_sys.obj:ser_ini_sys.c
$(CC) $(CFLAGS) ser_ini_sys.c -I$(SYSINCLUDE) -I$(ORACLE_INCLUDE) -I$(TUXEDO_INCLUDE)
clean:
del *.obj *.c ser_*.exe ULOG*