# 
# Modified by Spiros
# Pro*C programs are assumed to have the extension ".pc"
#

SHELL=/bin/sh

LIBHOME=$(ORACLE_HOME)/lib

I_SYM= -I

CC=cc

CFLAGS=-I. -O

CFLAGS=-I. -O -Aa -D_HPUX_SOURCE +ESsfc +ESlit

LDFLAGS=-Wl,-aarchive -L$(LIBHOME)

ARLOCAL=

AR=ar $(ARLOCAL)
ARCREATE=ar cr$(ARLOCAL)
ARDELETE=ar d$(ARLOCAL)
ARREPLACE=ar r$(ARLOCAL)

ECHO=$(ORACLE_HOME)/bin/echodo

OTHERLIBS=`cat $(ORACLE_HOME)/rdbms/lib/sysliblist` $(MLSLIBS)

LLIBPSO=

LLIBPSO=-lstublm

XLIBS=-lXt -lX11 -lm

XLIBHOME = /usr/lib
MOTIFLIBHOME = /usr/lib
MOTIFLIBS = -L$(MOTIFLIBHOME) -lXm -L$(XLIBHOME) -lXt -lX11 -lm

CLIBS=$(OTHERLIBS)

SO=a

NLSRTLHOME= $(SRCHOME)/nlsrtl23

NLSRTLLIB= -lnlsrtl

LIBNLSRTL= $(LIBHOME)/libnlsrtl.a
LLIBNLSRTL=-lnlsrtl

NLSRTLINC= $(I_SYM)$(NLSRTLHOME)/oracore/public
NLSRTLPUBLIC= $(I_SYM)$(NLSRTLHOME)/public \
 $(STDINCLUDE)

COREHOME= $(SRCHOME)/oracore

LIBCORE= $(LIBHOME)/libcore.$(SO)
LIBCV6= $(LIBHOME)/libcv6.$(SO)
LLIBCORE= -lcore
LLIBCV6= -lcv6

CORELIBD= $(LIBNLSRTL) $(LIBCV6) $(LIBCORE)
CORELIBS= $(LLIBNLSRTL) $(LLIBCV6) $(LLIBCORE) $(LLIBNLSRTL) $(LLIBCV6) \
          $(LLIBCORE)

LIBNETWORK= $(LIBHOME)/libnetwork.a
NTCONTAB= $(LIBHOME)/ntcontab.o

TNSLIBS= -lnetwork
TNSLIBD= $(LIBNETWORK)

LIBNETV2= $(LIBHOME)/libnetv2.a
NETV2LIBS= -lnetv2 $(TNSLIBS)
NETV2LIBD= $(LIBNETV2) $(TNSLIBD)

LIBNSG= $(LIBHOME)/libnsg.a
LLIBNSG= -lnsg
NSGLIBS= $(LLIBNSG)
NSGLIBD= $(LIBNSG)

OSNTAB= $(LIBHOME)/osntab.o
OSNTABST= $(LIBHOME)/osntabst.o 
LIBSQLNET= $(LIBHOME)/libsqlnet.a

SQLNETLIBS= -lsqlnet

NETLIBS= $(OSNTAB) $(SQLNETLIBS) $(NETV2LIBS)
NETLIBD= $(OSNTAB) $(LIBSQLNET) $(NETV2LIBD)

LIBPLS= $(LIBHOME)/libpls.a
LLIBPLS= -lpls

LIBTK2C= $(LIBHOME)/libtk2c.a
LLIBTK2C= -ltk2c
LIBTK2M= $(LIBHOME)/libtk2m.a
LLIBTK2M= -ltk2m
LIBTK2P= $(LIBHOME)/libtk2p.a
LLIBTK2P= -ltk2p
LIBTK2UC= $(LIBHOME)/libuc.a
LLIBTK2UC= -luc
LIBTK2REM= $(LIBHOME)/librem.a
LLIBTK2REM= -lrem
LIBTK2ROS= $(LIBHOME)/libros.a
LLIBTK2ROS= -lros
LIBTK2OT= $(LIBHOME)/libot.a
LLIBTK2OT= -lot
LIBTK2OTX= $(LIBHOME)/libotx.a

LLIBTK2OTX= -lotx

LIBTK2UT= $(LIBHOME)/libut.a

LLIBTK2UT= -lut

LIBTK2SL= $(LIBHOME)/libsl.a
LLIBTK2SL= -lsl
LIBTK2RE= $(LIBHOME)/libre.a

LLIBTK2RE= -lre

TK2UICLIBD= $(LIBTK2RE) $(LIBTK2UC) $(LIBTK2C) $(LIBTK2OT) $(LIBTK2REM) \
	$(LIBTK2ROS) $(LIBTK2P) $(LIBTK2UT) $(LIBTK2SL)

TK2UICLIBS= $(DYNAMIC_ON_TK2) \
	$(LLIBTK2SL) $(LLIBTK2RE) $(LLIBTK2UC) $(LLIBTK2C) $(LLIBTK2OT) \
	$(LLIBTK2RE) $(LLIBTK2REM) $(LLIBTK2ROS) $(LLIBTK2C) $(LLIBTK2P) \
	$(LLIBTK2C) $(LLIBTK2P) -lm $(LLIBTK2REM) $(LLIBTK2C) $(LLIBTK2OT) \
	$(LLIBTK2UT) $(LLIBTK2UC) $(LLIBTK2SL) $(LLIBTK2C) \
	$(DYNAMIC_OFF_TK2)

TK2UIMLIBD= $(LIBTK2OT) $(LIBTK2RE) $(LIBTK2UC) $(LIBTK2REM) $(LIBTK2ROS) \
	$(LIBTK2M) $(LIBTK2P) $(LIBTK2UT) $(LIBTK2SL)

TK2UIMLIBS= $(DYNAMIC_ON_TK2) \
        $(LLIBTK2OT) $(LLIBTK2RE) $(LLIBTK2UC) $(LLIBTK2REM) $(LLIBTK2ROS) \
        $(LLIBTK2M) $(LLIBTK2P) $(LLIBTK2M) $(LLIBTK2P) $(LLIBTK2M) \
        $(LLIBTK2OT) $(LLIBTK2UT) \
        $(LLIBTK2SL) $(DYNAMIC_OFF_TK2)

PLSPECFILES=

LIBOCIC= $(LIBHOME)/libocic.a
LLIBOCIC= -locic

TTLIBD= $(NETLIBD) $(LIBORA) $(CORELIBD)

TTLIBS= $(OSNTAB) $(SQLNETLIBS) $(LLIBORA) $(LIBPLSHACK) $(SQLNETLIBS) \
 $(LLIBORA) $(CORELIBS) $(LDLIBS) $(CLIBS)

STLIBDNOPLS= $(OSNTABST) $(CONFIG) $(CORELIBD) $(NETLIBD) $(RDBMSLIBDNOPLS)
STLIBD= $(OSNTABST) $(CONFIG) $(CORELIBD) $(NETLIBD) $(RDBMSLIBD)
STLIBSNOPLS= $(OSNTABST) $(CONFIG) $(RDBMSLIBSNOPLS) $(RDBMSLIBSNOPLS) \
 $(PLSPECFILES) $(SQLNETLIBS) $(LLIBORA) $(CORELIBS) $(LLIBPSO) $(LDLIBS) \
 $(CLIBS)
STLIBS= $(OSNTABST) $(CONFIG) $(RDBMSLIBS) $(RDBMSLIBS) $(PLSPECFILES) \
 $(SQLNETLIBS) $(LLIBORA) $(CORELIBS) $(LLIBPSO) $(LDLIBS) $(CLIBS)

LLIBNETV2= $(LIBNETV2)
LLIBNETWORK= $(LIBNETWORK)

CONFIG= $(LIBHOME)/config.o
OPIMAI= $(LIBHOME)/opimai.o
LIBORA= $(LIBHOME)/libora.a
LIBKNL= $(LIBHOME)/libknl.a
LIBKNLOPT= $(LIBHOME)/libknlopt.a
LLIBORA= -lora
LLIBKNL= -lknl
LLIBKNLOPT= -lknlopt

RDBMSLIBDNOPLS= $(LIBORA) $(LIBKNLOPT) $(LIBKNL)
RDBMSLIBD= $(LIBORA) $(LIBKNLOPT) $(LIBPLS) $(LIBKNL)
RDBMSLIBSNOPLS= $(LLIBORA) $(LLIBKNLOPT) $(LLIBKNL)
RDBMSLIBS= $(LLIBORA) $(LLIBKNLOPT) $(LLIBPLS) $(LLIBKNL)

LIBSOSD=
LLIBSOSD=

LIBPCORE=$(LIBHOME)/libpcore.a
LLIBPCORE= -lpcore

LIBCGEN= $(LIBHOME)/pdc.o
LIBFORGEN= $(LIBHOME)/pdf.o
LIBCOBGEN= $(LIBHOME)/pdb.o
LIBPASGEN= $(LIBHOME)/pdp.o
LIBADAGEN= $(LIBHOME)/pda.o
LIBOSDGEN= $(LIBHOME)/pds.o

CODEGENHOME= $(SRCHOME)/codegen

LIBSLAX=$(LIBHOME)/pxslax.o

SQLHOME= $(ORACLE_HOME)/sqllib

SQLPUBLIC=$(I_SYM)$(SQLHOME)/public
LIBSQL= $(LIBHOME)/libsql.a
SQLLIBS= -lsql

LIBPROC20=$(LIBHOME)/libproc.a
LLIBPROC20= -lproc
LIBPRO= $(LIBPROC20)
LLIBPRO= $(LLIBPROC20)
PROLDLIBS= $(SQLLIBS) $(TTLIBS)

PROC=$(ORACLE_HOME)/bin/proc

#
# Redefining CC and OTHERLIBS - problem with LDSTRING and MTS / JATIN/HARISH
#

PROCOBJS=$(ORACLE_HOME)/proc/lib/main.o \
	$(ORACLE_HOME)/proc/lib/pcdsfv.o \
	$(ORACLE_HOME)/proc/lib/pcdlut.o
PROCPLSFLAGS= sqlcheck=full userid=$(USERID) dbms=v6_char
USERID= pyros/ligoud

EXE= goodtimes
#OBJS=

all: build 

build: intro.o main.o good.o 
	$(CC) $(LDFLAGS) -o $(EXE) intro.o main.o good.o $(PROLDLIBS) -lcurses -ltermcap

main.o:
	$(CC) -Aa -c main.c
intro.o:
	$(CC) -c intro.c

# Suffix rules
.SUFFIXES: .exe .o .c .pc

.pc.c:
	$(PROC) $(PROFLAGS) iname=$*.pc 

.pc.o:
	$(PROC) $(PROFLAGS) iname=$*.pc
	$(CC) $(CFLAGS) $(SQLPUBLIC) -c $*.c

.c.o:
	$(CC) $(CFLAGS) $(SQLPUBLIC) -c $*.c

LIBDIR= $(ORACLE_HOME)/proc/lib
DEMODIR= $(ORACLE_HOME)/proc/demo

clean:
	-rm -f goodtimes intro.o main.o good.o good.c

