###############################################################################
#   Instructions to Make, for compilation of PARADISE newdmdiff and bulkload
###############################################################################

###############################################################################
#
# 	BBBB	EEEEE	TTTTT	  A
# 	B   B 	E	  T	 A A
# 	BBBB	EEEE	  T	AAAAA	RELEASE
# 	B   B 	E	  T	A   A
# 	BBBB	EEEEE	  T	A   A
# 
###############################################################################

###############################################################################
# Lines that will need changing..
###############################################################################


ISODEINCLUDE	=	/vol/PACK/ISODE-8.0/include

PPDIR		=	/usr/src/local/PP/pp-6.0/Lib/	# or wherever, since PP
							# is not fully always installed

# If libpp and libdl are unavailable, remove them from LDLIBS and then add 
# -DPPANDDLUNAVAILABLE to CFLAGS. Their absence means that the PP MHS syntaxes 
# can not be used.
# Note: libdl has been subsumed into libpp in version 6.4.
			 
CFLAGS		=	-I$(ISODEINCLUDE) -I. # -DPPANDDLUNAVAILABLE
LDFLAGS		=	-L$(PPDIR) -L$(TOPDIR)
LDLIBS		= 	-ldl -lpp  -ldsap -lisode -ltermcap

###############################################################################
# FILES
###############################################################################

LOADCFILES =	bulkload.c bulkman.c processfile.c updatedirectory.c processbulkdetails.c modify.c \
		addremovemodrdn.c referral.c algoname.c subdirectory.c editupdate.c readsearch.c errors.c \
		bind.c asyndap.c init.c configuration.c util.c pager.c rawinput.c \
		filter.c atts.c video.c mapphone.c mapatt.c list.c namelist.c \
		deleteentryafter.c Bulk_tables.c bulksyntax.c

LOADOFILES =	bulkload.o bulkman.o processfile.o updatedirectory.o processbulkdetails.o modify.o \
		addremovemodrdn.o referral.o algoname.o subdirectory.o editupdate.o readsearch.o errors.o \
		bind.o asyndap.o init.o configuration.o util.o pager.o rawinput.o \
		filter.o atts.o video.o mapphone.o mapatt.o list.o namelist.o \
		deleteentryafter.o Bulk_tables.o bulksyntax.o

LOADHFILES =	bulkload.h bulkman.h \
		Bulk-cdefs.h bulkloaderrors.h list.h namelist.h Bulk-types.h bulkloadglobal.h processandupdate.h \
		addremovemodrdn.h configuration.h processbulkandupdatedir.h algoname.h filter.h \
		readsearch.h asyn.h mapatts.h referral.h bind.h mapphone.h types.h bulkloadattrnames.h \
             	modify.h util.h subdirectory.h

DIFFCFILES =	newdmdiff.c

DIFFOFILES =	newdmdiff.o


##############################################################
# Here it is...
##############################################################

all:            newdmdiff bulkload
inst-all:       inst-bulkload inst-newdmdiff help
install:        inst-all clean

###################################################################
# newdmdiff
###################################################################

inst-newdmdiff:		$(BINDIR)newdmdiff

$(BINDIR)newdmdiff:	xnewdmdiff
			-cp $@ zxnewdmdiff
			-rm -f $@
			cp xnewdmdiff $@
			-@ls -gls $@
			-@echo ""

newdmdiff:		xnewdmdiff

xnewdmdiff:		$(DIFFOFILES)
			$(LDCC) $(LDFLAGS) -o $@ $(DIFFOFILES) $(LDLIBS)

###################################################################
# bulkload
###################################################################

inst-bulkload:		$(BINDIR)bulkload

$(BINDIR)bulkload:	xbulkload
			-cp $@ zxbulkload
			-rm -f $@
			cp xbulkload $@
			-@ls -gls $@
			-@echo ""

bulkload:		xbulkload

xbulkload:		$(LOADOFILES)
			$(LDCC) $(LDFLAGS) -o $@ $(LOADOFILES) $(LDLIBS)

help:			$(ETCDIR)bulk/bulkloadtailor
			-cp -r etc/* $(ETCDIR)bulk
			-@ls -gls $(ETCDIR)bulk

$(ETCDIR)bulk/bulkloadtailor: bulkloadtailor
			-mkdir $(ETCDIR)bulk
			if [ -s $@ ]; \
			    then exit 0; \
			    else cp bulkloadtailor $@; ls -gls $@; \
			fi
			if ln $(ETCDIR)bulk/bulkloadtailor $(ETCDIR)bulk/bulkloadtailor.old; \
			    then rm -f $@ ; cp bulkloadtailor $@; ls -gls $@; \
			    else exit 0; \
			fi

bulkloadtailor:

##############################################################
# clean
##############################################################

clean:;         rm -f *.ph *.o *.a a.out _* x* z* *.orig core 

grind:;         

true:;


