#**********************************************************************#
#*                                                                    *#
#* Copyright (c) 2005 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 PL/I
PLI=lpipl1
PP=lpipp
PLINCLUDES = $(LPI_PRODUCT_DIR)/include:$(KIXPROGS)
PLIFLAGS = -debug -opt 2 -pic -ipath $(PLINCLUDES)
PPFLAGS = -nodebuginfo -isuffix .inc -ipath $(PLINCLUDES)
PLTFLAGS = -cicsdebug 
LD=ld
LD_FLAGS = -G  
KIXBMS=kixbms
KIXBMS_FLAGS = -a -c
KIXPLT=kixplt

OBJECTS = \
	progs/ACCT00.o \
	progs/ACCT01.o \
	progs/ACCT02.o \
	progs/ACCT04.o \
	progs/ACCTFET.o \
	progs/ALPHANUM.o

SHARED_OBJECTS = \
	lib/libacct.so \
	lib/acct00.so \
	lib/acct01.so \
	lib/acct02.so \
	lib/acct04.so \
	lib/acctfet.so

PLITEMP_FILES = \
	progs/ACCT00.err \
	progs/ACCT01.err \
	progs/ACCT02.err \
	progs/ACCT04.err \
	progs/ACCTFET.err \
	progs/ACCT00.lis \
	progs/ACCT01.lis \
	progs/ACCT02.lis \
	progs/ACCT04.lis \
	progs/ACCTFET.lis \
	progs/ACCT01.plt \
	progs/ACCT02.plt \
	progs/ACCTFET.plt \
	progs/ACCT00.stb \
	progs/ACCT01.stb \
	progs/ACCT02.stb \
	progs/ACCT04.stb \
	progs/ACCTFET.stb \
	progs/ALPHANUM.stb \
	progs/ACCT00.temppli \
	progs/ACCT01.temppli \
	progs/ACCT02.temppli \
	progs/ACCT04.temppli \
	progs/ACCTFET.temppli \
	progs/ALPHANUM.temppli \
	progs/temp.plt

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

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

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

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

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

################################################################################
# ALPHANUM
################################################################################
progs/ALPHANUM.temppli: progs/ALPHANUM.pli
	@echo ""
	@echo ""
	@echo "--- Creating libacct.so ---"
	@echo ""
	@echo ""
	(cd progs; \
	$(PP) $(PPFLAGS) ALPHANUM.pli -o ALPHANUM.temppli)

progs/ALPHANUM.o: progs/ALPHANUM.temppli
	(cd progs; \
	${PLI} ${PLIFLAGS} ALPHANUM.temppli -o  ALPHANUM.o)

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


################################################################################
# ACCT00
################################################################################
progs/ACCT00.temppli: progs/ACCT00.plt
	@echo ""
	@echo ""
	@echo "--- Creating acct00.so ---"
	@echo ""
	@echo ""
	(cd progs; \
	$(PP) $(PPFLAGS) ACCT00.plt -o temp.plt; \
	${KIXPLT} ${PLTFLAGS}  -i temp.plt -o ACCT00.temppli)

progs/ACCT00.o: progs/ACCT00.temppli
	(cd progs; \
	${PLI} ${PLIFLAGS} ACCT00.temppli -o  ACCT00.o)

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

################################################################################
# ACCT01
################################################################################
progs/ACCT01.plt: progs/ACCT01.ppl
	(cd progs; \
	propli ACCT01.ppl ACCT01.plt maxliteral=250 include=$(LPI_PRODUCT_DIR)/include)

progs/ACCT01.temppli: progs/ACCT01.plt
	@echo ""
	@echo ""
	@echo "--- Creating acct01.so ---"
	@echo ""
	@echo ""
	(cd progs; \
	$(PP) $(PPFLAGS) ACCT01.plt -o temp.plt; \
	${KIXPLT} ${PLTFLAGS}  -i temp.plt -o ACCT01.temppli)

progs/ACCT01.o: progs/ACCT01.temppli
	(cd progs; \
	${PLI} ${PLIFLAGS} ACCT01.temppli -o  ACCT01.o)

lib/acct01.so: progs/ACCT01.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acct01.so ACCT01.o -R ${KIXSYS} -L . -L ${KIXLIB} -lacct)
	@echo ""
	@echo "--- acct01.so created ---"
	@echo ""

################################################################################
# ACCT02
################################################################################
progs/ACCT02.plt: progs/ACCT02.ppl
	(cd progs; \
	propli ACCT02.ppl ACCT02.plt maxliteral=250 include=$(LPI_PRODUCT_DIR)/include)

progs/ACCT02.temppli: progs/ACCT02.plt
	@echo ""
	@echo ""
	@echo "--- Creating acct02.so ---"
	@echo ""
	@echo ""
	(cd progs; \
	$(PP) $(PPFLAGS) ACCT02.plt -o temp.plt; \
	${KIXPLT} ${PLTFLAGS}  -i temp.plt -o ACCT02.temppli)

progs/ACCT02.o: progs/ACCT02.temppli
	(cd progs; \
	${PLI} ${PLIFLAGS} ACCT02.temppli -o  ACCT02.o)

lib/acct02.so: progs/ACCT02.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acct02.so ACCT02.o -R ${KIXSYS} -L . -L ${KIXLIB} -lacct)
	@echo ""
	@echo "--- acct02.so created ---"
	@echo ""

################################################################################
# ACCT04
################################################################################
progs/ACCT04.temppli: progs/ACCT04.plt
	@echo ""
	@echo ""
	@echo "--- Creating acct04.so ---"
	@echo ""
	@echo ""
	(cd progs; \
	$(PP) $(PPFLAGS) ACCT04.plt -o temp.plt; \
	${KIXPLT} ${PLTFLAGS}  -i temp.plt -o ACCT04.temppli)

progs/ACCT04.o: progs/ACCT04.temppli
	(cd progs; \
	${PLI} ${PLIFLAGS} ACCT04.temppli -o  ACCT04.o)

lib/acct04.so: progs/ACCT04.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acct04.so ACCT04.o -R ${KIXSYS} -L . -L ${KIXLIB} -lacct)
	@echo ""
	@echo "--- acct04.so created ---"
	@echo ""

################################################################################
# ACCTFET
################################################################################
progs/ACCTFET.plt: progs/ACCTFET.ppl
	(cd progs; \
	propli ACCTFET.ppl ACCTFET.plt include=$(LPI_PRODUCT_DIR)/include)

progs/ACCTFET.temppli: progs/ACCTFET.plt
	@echo ""
	@echo ""
	@echo "--- Creating acctfet.so ---"
	@echo ""
	@echo ""
	(cd progs; \
	$(PP) $(PPFLAGS) ACCTFET.plt -o temp.plt; \
	${KIXPLT} ${PLTFLAGS}  -i temp.plt -o ACCTFET.temppli)

progs/ACCTFET.o: progs/ACCTFET.temppli
	(cd progs; \
	${PLI} ${PLIFLAGS} ACCTFET.temppli -o  ACCTFET.o)

lib/acctfet.so: progs/ACCTFET.o
	(cd progs; \
	${LD} ${LD_FLAGS} -o ../lib/acctfet.so ACCTFET.o -R ${KIXSYS} -L . -L ${KIXLIB} -lacct)
	@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 ""

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

