如何写LINUX下的MAKEFILE,C与ORACLE的接口?
CC = $(CXX)
ORA_INCLUDE = -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/plsql/public -I$(ORACLE_HOME)/network/public
ORA_LIBPATH = -L$(ORACLE_HOME)/lib/ -L$(ORACLE_HOME)/rdbms/lib
ORA_LIB = $(ORACLE_HOME)/rdbms/lib/kpudfo.o -lclntsh $(ORACLE_HOME)/rdbms/lib/kpuadef.o -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -ln8 -lncrypt8 -lnoname8 -lntcp8 -lntcps8 -lnent8 -lntns8 -lnsgr8 -lnzjs8 -lnl8 -lnro8 -lclient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8 -lmm -lnls8 -lcore8 -ltrace8 -l:libcl.a -l:librt.sl -l:libnss_dns.1 -l:libdld.sl -lm
INCLUDE = -I. -I$(SETTLE_HOME)/include
LIBPATH = -L. -L$(SETTLE_HOME)/lib
liboradbi.a: oradbi.h oradbi.cc
$(CC) $(INCLUDE) $(ORA_INCLUDE) $(ORA_LIBPATH) -c oradbi.cc -D_DEBUG_FOR_ORADBI_ $(ORA_LIB)
ar r liboradbi.a oradbi.o
cp liboradbi.a $(SETTLE_HOME)/lib
cp *.h $(SETTLE_HOME)/include
clean:
rm *.o *.a
/////以上是UNIX下的,
请问LINUX下的如何写?
问题点数:0、回复次数:4Top
1 楼icedust(冰封尘想)回复于 2003-09-04 20:51:44 得分 0
差不多,找找精华贴吧Top
2 楼compacq(compacq)回复于 2003-09-04 20:55:05 得分 0
谢谢,看过了,没找到,Top
3 楼zjqyb(风清扬*任它溺水三千,我只取一瓢饮*)回复于 2003-09-04 21:12:15 得分 0
差不多
CC = gcc
Top
4 楼zhangtenyu(土字典)回复于 2003-09-04 22:03:40 得分 0
.SUFFIXES:.pc.o
ORACLE_SID=orasvr
ORACLE_USERNAME=comm
ORACLE_PASSWD=hello
ORACLE_BASE=/home/oracle
ORACLE_HOME=/home/oracle/OraHome1
ORACLE_LIB_DIR=$(ORACLE_HOME)/lib
COMM_HOME=/home/comm/comm
COMM_INSTALL_HOME=/usr/comm/
COMM_BIN=/home/comm/comm/bin
COMM_DOC=/home/comm/comm/doc
COMM_ETC=/home/comm/comm/etc
COMM_INCLUDE=/home/comm/comm/include
COMM_LIB=/home/comm/comm/lib
COMM_LOG=/home/comm/comm/log
COMM_SRC=/home/comm/comm/source
MAKE=make
PROC=proc
CC=gcc
PROCFLAGS=UNSAFE_NULL=YES DBMS=V8 MODE=ORACLE sys_include=$(COMM_INCLUDE) userid=$(ORACLE_USERNAME)/$(ORACLE_PASSWD)@$(ORACLE_SID) SQLCHECK=FULL
GCCFLAGS=-Wall -DDEBUG
LIBRARIES=-lclntsh -lwtc8 -ldl
INCLUDES=-I$(COMM_INCLUDE) -I$(ORACLE_HOME)/precomp/public
LIBS=$(COMM_LIB)/shared.a -L$(ORACLE_LIB_DIR) $(LIBRARIES)
TARGET = test
OBJS = $(TARGET).o
all: $(TARGET)
$(TARGET): $(OBJS)
@echo
@echo ---------------
@echo $@
@echo ---------------
$(CC) -ggdb3 -o $@ $(GCCFLAGS) $(OBJS) $(LIBS)
@cp -f $@ $(COMM_BIN)
@echo
%.o: %.pc
@echo
@echo ---------------
@echo $<
@echo ---------------
$(PROC) $*.pc $(PROCFLAGS)
$(CC) -c $(GCCFLAGS) $(INCLUDES) $*.c
@echo
clean:
@rm -f *.o *.lis *.c $(TARGET)
@echo
@echo `pwd` Cleaned......
@echo
Top




