#**********************************************************************#
#*                                                                    *#
#* Copyright (c) 2004 by Sun Microsystems, Inc.                       *#
#* All rights reserved.                                               *#
#*                                                                    *#
#**********************************************************************#
#
#
# The makefile may be invoked in the following manner:
#
# make clean (To clean up)
#
# make (To compile all demo programs )
#

################################################################################
# Macro Definitions
################################################################################
PRODUCT=Oracle C
CC=cc
CFLAGS = -Bdynamic -Kpic -c -Xt
CINCLUDES = -I ${UNIKIX}/src/CICS_structures
LD=ld
LD_FLAGS = -G
LD_FLAGS2 =
KIXBMS=kixbms
KIXBMS_FLAGS = -a -c
KIXCLT=kixclt
KIXCLT_FLAGS = -d oracle

OBJECTS = \
	progs/acct00.o \
	progs/acct01.o \
	progs/acct02.o \
	progs/acct03.o \
	progs/acctfet.o

SHARED_OBJECTS = \
	lib/acct00.so \
	lib/acct01.so \
	lib/acct02.so \
	lib/acct03.so \
	lib/acctfet.so

C_FILES = \
	progs/acct00.c \
	progs/acct01.c \
	progs/acct02.c \
	progs/acct03.c \
	progs/acctfet.c

CCS_FILES = \
	progs/acct01.ccs \
	progs/acct02.ccs \
	progs/acctfet.ccs

ACCT_FILES = \
	maps/ACCTSET.map \
	progs/ACCTSET.h

################################################################################
# all and clean
################################################################################

all:	begin \
	clean \
	maps/ACCTSET.map \
	lib/acct00.so \
	lib/acct01.so \
	lib/acct02.so \
	lib/acct03.so \
	lib/acctfet.so \
	end

clean:
	@echo ""
	@echo ""
	@echo "--- Cleaning ${PRODUCT} example ---"
	@echo ""
	@echo ""
	rm -f ${ACCT_FILES} ${OBJECTS} ${C_FILES} ${CCS_FILES} ${SHARED_OBJECTS}

################################################################################
# ACCTSET.map
################################################################################
maps/ACCTSET.map:
	@echo ""
	@echo ""
	@echo "--- Creating ACCTSET.map and ACCTSET.h files ---"
	@echo ""
	@echo ""
	(cd maps; \
	${KIXBMS} ${KIXBMS_FLAGS} ACCTSET.bms; \
	mv ACCTSET.h ../progs)
	@echo ""
	@echo "--- ACCTSET.map and ACCTSET.h files created ---"

################################################################################
# ACCT00
################################################################################
progs/acct00.c: progs/acct00.ccs
	@echo ""
	@echo ""
	@echo "--- Creating ACCT00 ---"
	@echo ""
	@echo ""
	(cd progs; \
	${KIXCLT} ${KIXCLT_FLAGS} acct00.ccs)

progs/acct00.o: progs/acct00.c
	(cd progs; \
	${CC} ${CFLAGS} ${CINCLUDES} -o acct00.o acct00.c)

lib/acct00.so: progs/acct00.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acct00.so acct00.o)
	@echo ""
	@echo "--- ACCT00.so created ---"
	@echo ""

################################################################################
# ACCT01
################################################################################
progs/acct01.c: progs/acct01.pc
	@echo ""
	@echo ""
	@echo "--- Creating ACCT01 ---"
	@echo ""
	@echo ""
	(cd progs; \
	proc acct01.pc acct01.ccs \
	include=$(ORACLE_HOME)/precomp/public \
	include=$(UNIKIX)/src/CICS_structures \
	ireclen=132 maxliteral=161 mode=ansi hold_cursor=no release_cursor=yes \
	maxopencursors=50 dbms=v7 ; \
	${KIXCLT} ${KIXCLT_FLAGS} acct01.ccs)

progs/acct01.o: progs/acct01.c
	(cd progs; \
	${CC} ${CFLAGS} ${CINCLUDES} -o acct01.o acct01.c)
	
lib/acct01.so: progs/acct01.o
	(cd progs; \
	${LD} ${LD_FLAGS} ${LD_FLAGS2} -o ../lib/acct01.so acct01.o)
	@echo ""
	@echo "--- ACCT01.so created ---"
	@echo ""

################################################################################
# ACCT02
################################################################################
progs/acct02.c: progs/acct02.pc
	@echo ""
	@echo ""
	@echo "--- Creating ACCT02 ---"
	@echo ""
	@echo ""
	(cd progs; \
	proc acct02.pc acct02.ccs \
	include=$(ORACLE_HOME)/precomp/public \
	include=$(UNIKIX)/src/CICS_structures \
	ireclen=132 maxliteral=161 mode=ansi hold_cursor=no release_cursor=yes \
	maxopencursors=50 dbms=v7 ; \
	${KIXCLT} ${KIXCLT_FLAGS} acct02.ccs)

progs/acct02.o: progs/acct02.c
	(cd progs; \
	${CC} ${CFLAGS} ${CINCLUDES} -o acct02.o acct02.c)
	
lib/acct02.so: progs/acct02.o
	(cd progs; \
	${LD} ${LD_FLAGS} ${LD_FLAGS2} -o ../lib/acct02.so acct02.o)
	@echo ""
	@echo "--- ACCT02.so created ---"
	@echo ""

################################################################################
# ACCT03
################################################################################
progs/acct03.c: progs/acct03.ccs
	@echo ""
	@echo ""
	@echo "--- Creating ACCT03 ---"
	@echo ""
	@echo ""
	(cd progs; \
	${KIXCLT} ${KIXCLT_FLAGS} acct03.ccs)

progs/acct03.o: progs/acct03.c
	(cd progs; \
	${CC} ${CFLAGS} ${CINCLUDES} -o acct03.o acct03.c)
	
lib/acct03.so: progs/acct03.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acct03.so acct03.o)
	@echo ""
	@echo "--- ACCT03.so created ---"
	@echo ""

################################################################################
# ACCTFET
################################################################################
progs/acctfet.c: progs/acctfet.pc
	@echo ""
	@echo ""
	@echo "--- Creating ACCTFET ---"
	@echo ""
	@echo ""
	(cd progs; \
	proc acctfet.pc acctfet.ccs \
	include=$(ORACLE_HOME)/precomp/public \
	include=$(UNIKIX)/src/CICS_structures \
	ireclen=132 maxliteral=161 mode=ansi hold_cursor=no release_cursor=yes \
	maxopencursors=50 dbms=v7 ; \
	${KIXCLT} ${KIXCLT_FLAGS} acctfet.ccs)

progs/acctfet.o: progs/acctfet.c
	(cd progs; \
	${CC} ${CFLAGS} ${CINCLUDES} -o acctfet.o acctfet.c)
	
lib/acctfet.so: progs/acctfet.o
	(cd progs; \
	${LD} ${LD_FLAGS} ${LD_FLAGS2} -o ../lib/acctfet.so acctfet.o)
	@echo ""
	@echo "--- ACCTFET.so created ---"
	@echo ""

begin:
	@echo ""
	@echo ""
	@echo ""
	@echo ""
	@echo ""
	@echo "*** Starting make of ${PRODUCT} example ***"
	@echo ""
	@echo ""
	@echo ""
	@echo ""
	@echo ""
end:
	@echo ""
	@echo ""
	@echo ""
	@echo ""
	@echo ""
	@echo "*** Completed make of ${PRODUCT} example ***"
	@echo ""
	@echo ""
	@echo ""
	@echo ""
	@echo ""

################################################################################

