# # $Header: proc.mk.pp,v 6.70 91/01/09 17:46:21 epotteng Exp $ proc.mk.pp # # # proc.mk - Command file for "make" to compile and load OCI and Pro*C programs. # # Pro*C programs are assumed to have the extension ".pc" # # # Usage for sample OCI program: # make -f proc.mk sample # Usage for sample Pro*C program: # make -f proc.mk samplec # CC=/usr/5bin/cc CFLAGS=-g -DDEBUG -I. W3INC = -I./WWW -I./WWWCommon W3OBJS = ./WWW/HTDaemon.o ./WWW/HTParse.o \ ./WWW/HTRetrieve.o ./WWW/HTRules.o ./WWW/HTString.o ./WWW/HTTCP.o -O LDFLAGS=-Bstatic RANLIB=ranlib ECHO=$(ORACLE_HOME)/bin/echodo PCC=$(ORACLE_HOME)/bin/pcc PCCINC=$(ORACLE_HOME)/c/lib PCCFLAGS=include=$(PCCINC) ireclen=132 oreclen=132 select_error=no LIBORA=$(ORACLE_HOME)/rdbms/lib/libora.a LIBSQL=$(ORACLE_HOME)/rdbms/lib/libsql.a LIBOCIC=$(ORACLE_HOME)/rdbms/lib/libocic.a LIBPCC=$(ORACLE_HOME)/rdbms/lib/libpcc.a LIBPRO=$(ORACLE_HOME)/rdbms/lib/libpro.a LIBPSD=$(ORACLE_HOME)/c/lib/libpsd.a LIBPLUS=$(ORACLE_HOME)/sqlplus/lib/libplus.a LIBPLS=$(ORACLE_HOME)/rdbms/lib/libpls.a LIBKNL=$(ORACLE_HOME)/rdbms/lib/libknl.a LIBFORMS=$(ORACLE_HOME)/forms/lib/libforms.a LIBFORMS30=$(ORACLE_HOME)/forms30/lib/libforms30.a LIBFORMS30P=$(ORACLE_HOME)/forms30/lib/libforms30p.a LIBFORMS30C=$(ORACLE_HOME)/forms30/lib/libforms30c.a LIBFORMS30X=$(ORACLE_HOME)/forms30/lib/libforms30x.a LIBFORMS30M=$(ORACLE_HOME)/forms30/lib/libforms30m.a LIBOKT=$(ORACLE_HOME)/orakit/lib/libokt.a LIBOKTC=$(ORACLE_HOME)/orakit/lib/liboktc.a LIBOKTX=$(ORACLE_HOME)/orakit/lib/liboktx.a LIBOKTM=$(ORACLE_HOME)/orakit/lib/liboktm.a OTHERLIBS=`cat $(ORACLE_HOME)/rdbms/lib/sysliblist` CONFIG=$(ORACLE_HOME)/rdbms/lib/config.o OSNTAB=$(ORACLE_HOME)/rdbms/lib/osntab.o LIBTCP=$(ORACLE_HOME)/tcp/lib/libtcp.a NETLIBS=$(OSNTAB) $(ORACLE_HOME)/rdbms/lib/libsqlnet.a STLIBS=$(ORACLE_HOME)/rdbms/lib/osntabst.o $(CONFIG) PROLIBS=$(LIBOCIC) $(LIBSQL) PCCLIBS=$(LIBPCC) $(LIBSQL) $(LIBOCIC) $(LIBPRO) $(LIBPCC) FRMLIBS=$(ORACLE_HOME)/forms/lib/scp.o $(LIBFORMS) XLIBS=-lXaw -lXt -lXmu -lX11 -lm CLIBS=$(OTHERLIBS) # # NOTE: ORACLE_HOME must be either: # . set in the user's environment # . passed in on the command line # . defined in a modified version of this makefile # .SUFFIXES: .exe .c .pc # USERID = scott/tiger PCCFLAGS = include=$(PCCINC) ireclen=132 oreclen=132 select_error=no sqlcheck=limited # userid=$(USERID) all: HTOracle y sample: sample.o @$(ECHO) $(CC) $(CFLAGS) -o $@ $@.o $(LIBOCIC) $(NETLIBS) $(LIBORA) \ $(CLIBS) samplest: sample.o @$(ECHO) $(CC) $(CFLAGS) -o $@ $? $(LIBOCIC) $(STLIBS) $(LIBORA) \ $(LIBKNL) $(LIBORA) $(LIBPLS) $(LIBORA) $(LIBKNL) $(LIBORA) \ $(LIBPLS) $(CLIBS) samplec: samplec.c samplec.pc @$(ECHO) $(CC) $(CFLAGS) samplec.c -o $@ $(LIBSQL) $(NETLIBS) \ $(LIBORA) $(CLIBS) samplecst: samplec.c samplec.pc @$(ECHO) $(CC) $(CFLAGS) samplec.c -o $@ $(LIBSQL) $(STLIBS) \ $(LIBORA) $(LIBKNL) $(LIBORA) $(LIBPLS) $(LIBORA) \ $(LIBKNL) $(LIBORA) $(LIBPLS) $(CLIBS) .pc.c: $(PCC) $(PCCFLAGS) iname=$*.pc install: clean pcc -chmod 755 $(ORACLE_HOME)/bin/pcc -mv pcc $(ORACLE_HOME)/bin/pcc -chmod 755 $(ORACLE_HOME)/bin/pcc clean: -rm -f pcc pcc: $(PCCLIBS) $(LIBORA) $(NETLIBS) $(LIBPLS) $(LIBPSD) @$(ECHO) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(PCCLIBS) $(NETLIBS) $(LIBPSD) \ $(LIBORA) $(LIBPLS) $(LIBPSD) $(LIBORA) $(LIBPLS) $(CLIBS) # # General suffix rule to build executables from .pc and .c files. # # Usage : # make -f proc.mk USERID= .exe # # For example to build an executable from a Pro*C source file named 'abc.pc' # using scott/tiger for the ORACLE account name. The make command line will # be: # make -f proc.mk USERID=scott/tiger abc.exe # # Note: scott/tiger is the default account/password, so that you could # also use the following command line: # # make -f proc.mk abc.exe # # The executable will be named 'abc', not 'abc.exe'. # .pc.exe: -$(PCC) iname=$*.pc $(PCCFLAGS) @$(ECHO) $(CC) $(CFLAGS) -o $* $*.c $(LIBSQL) $(NETLIBS) $(LIBORA) \ $(CLIBS) .c.exe: @$(ECHO) $(CC) $(CFLAGS) -o $* $*.c $(LIBSQL) $(LIBOCIC) $(NETLIBS) \ $(LIBORA) $(CLIBS) # W3 server HTOracle # HTOracle.c : HTOracle.pc HTOracle : HTOracle.c @$(ECHO) $(CC) $(W3INC) $(W3OBJS) $(CFLAGS) HTOracle.c -o $@ $(LIBSQL) $(NETLIBS) \ $(LIBORA) $(CLIBS) # Test progrem for W3 server y # y : y.c y.pc @$(ECHO) $(CC) $(CFLAGS) y.c -o $@ $(LIBSQL) $(NETLIBS) \ $(LIBORA) $(CLIBS) # # A Pro*C demo that that uses dynamic SQL to execute arbitray # interactive SQL commands. # dsql: dsql.c dsql.pc @$(ECHO) $(CC) $(CFLAGS) dsql.c -o $@ $(LIBSQL) $(NETLIBS) \ $(LIBORA) $(CLIBS) # # Sample Pro*C demo programs with PL/SQL blocks. # PLSPCCFLAGS = include=$(PCCINC) ireclen=132 oreclen=132 select_error=no sqlcheck=full userid=plsqa/supersecret examp6: examp6.pc $(PCC) iname=$@.pc $(PLSPCCFLAGS) @$(ECHO) $(CC) $(CFLAGS) examp6.c -o $@ $(LIBSQL) $(NETLIBS) \ $(LIBORA) $(CLIBS) examp7: examp7.pc $(PCC) iname=$@.pc $(PLSPCCFLAGS) @$(ECHO) $(CC) $(CFLAGS) examp7.c -o $@ $(LIBSQL) $(NETLIBS) \ $(LIBORA) $(CLIBS) sample5:sample5.pc $(PCC) iname=$@.pc $(PLSPCCFLAGS) @$(ECHO) $(CC) $(CFLAGS) sample5.c -o $@ $(LIBSQL) $(NETLIBS) \ $(LIBORA) $(CLIBS) bank_demo:bank_demo.pc $(PCC) iname=$@.pc $(PLSPCCFLAGS) @$(ECHO) $(CC) $(CFLAGS) bank_demo.c -o $@ $(LIBSQL) $(NETLIBS) \ $(LIBORA) $(CLIBS)