#**********************************************************************#
#*                                                                    *#
#* 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=Sybase C
CC=cc
CFLAGS = -Bdynamic -Kpic -c -Xt
CINCLUDES = -I${INCLUDE1} -I${INCLUDE2} -I${INCLUDE3}
LD=ld
LD_FLAGS = -G
KIXBMS=kixbms
KIXBMS_FLAGS = -a -c
KIXCLT=kixclt
KIXCLT_FLAGS = -d sybase

OBJECTS = \
	progs/acct00.o \
	progs/acct01.o \
	progs/acct02.o \
	progs/acct03.o \
	progs/acctfet.o \
	progs/sybesql.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.cp
	@echo ""
	@echo ""
	@echo "--- Creating ACCT01 ---"
	@echo ""
	@echo ""
	(cd progs; \
	cpre -I${INCLUDE1} -C KR_C -Oacct01.ccs acct01.cp ; \
	${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 progs/sybesql.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acct01.so acct01.o sybesql.o)
	@echo ""
	@echo "--- ACCT01.so created ---"
	@echo ""

################################################################################
# ACCT02
################################################################################
progs/acct02.c: progs/acct02.cp
	@echo ""
	@echo ""
	@echo "--- Creating ACCT02 ---"
	@echo ""
	@echo ""
	(cd progs; \
	cpre -I${INCLUDE1} -C KR_C -Oacct02.ccs acct02.cp ; \
	${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 progs/sybesql.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acct02.so acct02.o sybesql.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.cp
	@echo ""
	@echo ""
	@echo "--- Creating ACCTFET ---"
	@echo ""
	@echo ""
	(cd progs; \
	cpre -I${INCLUDE1} -C KR_C -Oacctfet.ccs acctfet.cp ; \
	${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 progs/sybesql.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acctfet.so acctfet.o sybesql.o)
	@echo ""
	@echo "--- ACCTFET.so created ---"
	@echo ""

################################################################################
# SYBESQL
################################################################################
progs/sybesql.o:	${SYBASE}/${SYBASE_OCS}/include/sybesql.c
	(cd progs; \
	${CC} ${CFLAGS} ${CINCLUDES} -o sybesql.o ${SYBASE}/${SYBASE_OCS}/include/sybesql.c)

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 ""

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

