home *** CD-ROM | disk | FTP | other *** search
Makefile | 1991-03-04 | 3.2 KB | 119 lines |
- #
- # $Header: proc.mk.pp,v 6.39 89/10/18 15:57:03 nsalah 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 USERID=name/pass
- #
-
- #
- # 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
-
- CC = cc
-
- OTHERLIBS=`cat $(ORACLE_HOME)/rdbms/lib/sysliblist`
- CLIBS= $(OTHERLIBS)
- ECHO=$(ORACLE_HOME)/bin/echodo
-
- CLIBS= -lld $(OTHERLIBS)
-
- CFLAGS = -O
-
- PCC = pcc
- PCCINC = $(ORACLE_HOME)/c/lib
- PCCFLAGS = include=$(PCCINC) ireclen=132 oreclen=132 rebind=no select_error=no sqlcheck=limited userid=scott/tiger
-
- SQLLIB = $(ORACLE_HOME)/rdbms/lib/libsql.a
- OCILIB = $(ORACLE_HOME)/rdbms/lib/libocic.a
- PCCLIBS = $(ORACLE_HOME)/rdbms/lib/libpcc.a $(SQLLIB) $(OCILIB) \
- $(ORACLE_HOME)/rdbms/lib/libpro.a $(ORACLE_HOME)/rdbms/lib/libpcc.a
- NETLIBS= $(ORACLE_HOME)/rdbms/lib/osntab.o \
- $(ORACLE_HOME)/rdbms/lib/libsqlnet.a
- STLIBS= $(ORACLE_HOME)/rdbms/lib/osntabst.o \
- $(ORACLE_HOME)/rdbms/lib/config.o
-
- ORALIBS = $(ORACLE_HOME)/rdbms/lib/libora.a
-
- CONFIG=$(ORACLE_HOME)/rdbms/lib/config.o
- LIBPLS= $(ORACLE_HOME)/rdbms/lib/libpls.a
- LIBPSD=$(ORACLE_HOME)/c/lib/libpsd.a
-
- LIBKNL= $(ORACLE_HOME)/rdbms/lib/libknl.a
-
- all: sample samplec
-
- sample: sample.o
- @$(ECHO) $(CC) $(CFLAGS) -o $@ $@.o $(OCILIB) $(NETLIBS) $(ORALIBS) \
- $(CLIBS)
-
- samplest: sample.o
- @$(ECHO) $(CC) $(CFLAGS) -o $@ $? $(OCILIB) $(STLIBS) $(ORALIBS) \
- $(LIBKNL) $(ORALIBS) $(LIBPLS) $(ORALIBS) $(LIBKNL) $(ORALIBS) \
- $(LIBPLS) $(CLIBS)
-
- samplec: samplec.c samplec.pc
- @$(ECHO) $(CC) $(CFLAGS) samplec.c -o $@ $(SQLLIB) $(NETLIBS) \
- $(ORALIBS) $(CLIBS)
-
- samplecst: samplec.c samplec.pc
- @$(ECHO) $(CC) $(CFLAGS) samplec.c -o $@ $(SQLLIB) $(STLIBS) \
- $(ORALIBS) $(LIBKNL) $(ORALIBS) $(LIBPLS) $(ORALIBS) \
- $(LIBKNL) $(ORALIBS) $(LIBPLS) $(CLIBS)
-
- .pc.c:
- $(PCC) $(PCCFLAGS) iname=$*.pc
-
- install: pcc
- -chmod 755 $(ORACLE_HOME)/bin/pcc
- -mv pcc $(ORACLE_HOME)/bin/pcc
- -chmod 755 $(ORACLE_HOME)/bin/pcc
-
- pcc: $(PCCLIBS) $(ORALIBS) $(NETLIBS) $(CONFIG) $(LIBPLS) $(LIBPSD)
- @$(ECHO) $(CC) $(CFLAGS) -o $@ $(PCCLIBS) $(NETLIBS) $(LIBPSD) \
- $(ORALIBS) $(LIBPLS) $(LIBPSD) $(ORALIBS) $(LIBPLS) $(CONFIG) $(CLIBS)
-
- #
- # General suffix rule to build executables from .pc and .c files.
- #
- # Usage :
- # make -f proc.mk USERID=<user/pass> <prog>.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
- #
- # The executable will be named 'abc', not 'abc.exe'.
- #
-
- .pc.exe:
- -$(PCC) iname=$*.pc $(PCCFLAGS) userid=$(USERID)
- @$(ECHO) $(CC) $(CFLAGS) -o $* $*.c $(SQLLIB) $(NETLIBS) $(ORALIBS) \
- $(CLIBS)
-
- .c.exe:
- @$(ECHO) $(CC) $(CFLAGS) -o $* $*.c $(SQLLIB) $(OCILIB) $(NETLIBS) \
- $(ORALIBS) $(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 $@ $(SQLLIB) $(NETLIBS) \
- $(ORALIBS) $(CLIBS)
-