#  ins_ldap.mk - Makefile to relink the Oracle Secure Directory
#               executables
#
# References:
#       "ORACLE Secure Directory Installation and User's Guide"
#
# Usage:
#      To relink and install all executables
#       $ make -f ins_ldap.mk ORACLE_HOME=(your ORACLE_HOME) install
#

usage: 
	@echo "Usage: make -f ins_ldap.mk ORACLE_HOME=(your ORACLE_HOME) install"

include $(ORACLE_HOME)/ldap/lib/env_ldap.mk

LDCCOM=$(LINK) $(COMPEOBJS) $(EXOSFLAGS) 

# We have added the rlpath for SOLARIS/LINuX/AIX/HPUX
GSL_SHAREDLIBPATH = $(LDAPSHLIBPATH):$(ORACLE_HOME)/jdk/jre/lib/i386:$(ORACLE_HOME)/jdk/jre/lib/i386/client:$(ORACLE_HOME)/jdk/jre/lib/PA_RISC2.0/server:$(ORACLE_HOME)/jdk/jre/bin/classic:$(ORACLE_HOME)/jdk/jre/lib/sparc:$(ORACLE_HOME)/jdk/jre/lib/sparc/client:$(ORACLE_HOME)/../jdk/jre/lib/i386:$(ORACLE_HOME)/../jdk/jre/lib/i386/client:$(ORACLE_HOME)/../jdk/jre/lib/PA_RISC2.0/server:$(ORACLE_HOME)/../jdk/jre/bin/classic:$(ORACLE_HOME)/../jdk/jre/lib/sparc:$(ORACLE_HOME)/../jdk/jre/lib/sparc/client


DRMINCLUDE=$(I_SYM)$(SRCHOME)/drm/c/public $(I_SYM)$(SRCHOME)/drm/c/include
DPSCINCLUDE=$(I_SYM)$(SRCHOME)/dpsc/src/public
PCSLIB=$(LDLIBFLAG)pcs  $(LDLIBFLAG)eons
PCSLIBPATH= -L$(ORACLE_HOME)/drm/lib
OPMNLIB=$(LDLIBFLAG)ons
                                                                                
RDSLIB= $(LDLIBFLAG)rds 
RDSLIBPATH= -L$(ORACLE_HOME)/drm/lib -L$(ORACLE_HOME)/dpsc/lib

# Use DMS macros once they are fixed in their exports.mk
DMSLIB=$(LDLIBFLAG)dms2

#
# Bug #4192421
#
MVF=mv -f
#

install: clean execs inst_execs

toolsinstall: toolsclean toolsexecs inst_toolsexecs

cust_shlibs: $(NEW_LD_SHLIBS) 

mk_softlinks: 
	$(LNS) $(PRODLIBHOME)$(LIB_PREFIX)$(LDAPCLNTNAME).$(LIB_EXT) $(PRODLIBHOME)$(LIB_PREFIX)$(LDAPCLNTSHNAME).$(LIB_EXT)

clientonlyinstall: clean_clientonly tools_clientonly inst_clientonly

hragentinstall: hragentclean hragentexecs inst_hragentexecs 

execs: ldapservers ldapadmtools ldapclienttools ldaputils

toolsexecs: ldapclienttools ldaputils passwdconvert

hragentexecs: odihragent

ldapservers: oidldapd oidrepld

ldapadmtools: oidctl oidmon oiddt 

ldapclienttools: ldapadd ldapbind ldapcompare ldapdelete ldapmodify \
	         ldapsearch ldapmoddn oidpasswd \
	         ldapaddmt ldapmodifymt dsml2ldif remtool oidcmprec

tools_clientonly: ldapadd ldapbind ldapcompare ldapdelete ldapmodify \
	         ldapsearch ldapmoddn ldapaddmt ldapmodifymt dsml2ldif

ldaputils: bulkmodify passwdconvert bulkload catalog bulkdelete \
	ldifwrite 

odihragent: $(GSLODIHRAGENT_MAIN)  $(LIBCLNTSH)
	$(LDCCOM) $(GSLODIHRAGENT_MAIN) $(LDAP_DEFOPTON) $(GSLDCLNT_LIBS) $(GSLDMETA_LIBS) $(GSLDSDSRV_LIBS) \
	$(THREADSLIB) $(TTLIBS) $(LINKEXSYSLIBS)

#oidldapd: $(GSLDSDSRV_MAIN) 
#	$(LDCCOM) $(GSLDSDSRV_MAIN) $(LDAP_DEFOPTON) $(GSLDSDSRV_LIBS) \
#	$(LLIBGSLSSFE) $(LLIBGSLSSBE) $(LLIBGSLSSF) $(LLIBGSLPL) \
#	$(GSLDSDSRV_LIBS) $(GSLOSJAVALIBS)   $(LLIBIAU) $(DMSLIB) \
#	$(LLIBGSLSM) $(LLIBIAU) $(GSLDSDSRV_LIBS) $(LLIBGSLSM) \
#	$(THREADSLIB) $(OIDNETLIBS) $(GSL_SHAREDLIBPATH) $(GSLOSJAVALIBS) $(LINKEXSYSLIBS)

oidldapd: $(GSLDSDSRV_MAIN)
	$(LDCCOM) $(GSLDSDSRV_MAIN) $(LDAP_DEFOPTON) $(GSLDSDSRV_LIBS) \
	$(LLIBGSLSSFE) $(LLIBGSLSSBE) $(LLIBGSLSSF) $(LLIBGSLPL) $(LLIBGSLSM) \
	$(GSLDSDSRV_LIBS)  $(LLIBGSLSM)  $(LLIBIAU) $(DMSLIB) \
	$(THREADSLIB) $(OIDNETLIBS) $(LDAPSHLIBPATH) $(SYSTEM_LIBS) $(GSLOSJAVALIBS)

oiddt: $(GSLOIDDT_MAIN)
	$(LDCCOM) $(GSLOIDDT_MAIN) $(LDAP_DEFOPTON) \
	$(THREADSLIB) $(TTLIBS) $(SYSTEM_LIBS)  $(LINKEXSYSLIBS)

oidrepld: $(GSLREPL_MAIN)  
	$(LDCCOM) $(GSLREPL_MAIN) $(LDAP_DEFOPTON) \
	$(GSLREPLSRV_LIBS)  $(LLIBGSLRTR) \
	$(LLIBGSLRTU)  $(LLIBGSLRTD)   $(GSLDSDSRV_LIBS)  \
	$(THREADSLIB) $(OIDNETLIBS) $(LINKEXSYSLIBS) $(GSLDSDSRV_LIBS)

bulkload:  $(GSLBULKLOAD_MAIN)
	$(LDCCOM) $(GSLBULKLOAD_MAIN) $(LDAP_DEFOPTON) \
	$(LLIBGSLSG) $(GSLDBTOOLS_LIBS) $(LLIBGSLSSF)  \
	$(THREADSLIB) $(OIDNETLIBS)  $(SYSTEM_LIBS) $(LINKEXSYSLIBS)

catalog: $(GSLCATALOG_MAIN) 
	$(LDCCOM) $(GSLCATALOG_MAIN) $(LDAP_DEFOPTON) \
	$(LLIBGSLT) $(GSLDBTOOLS_LIBS) $(LLIBGSLSSF)  \
	$(THREADSLIB) $(OIDNETLIBS)  $(SYSTEM_LIBS) $(LINKEXSYSLIBS)

bulkdelete: $(GSLBULKDEL_MAIN) 
	$(LDCCOM) $(GSLBULKDEL_MAIN) $(LDAP_DEFOPTON) $(GSLDBTOOLS_LIBS) \
	$(LLIBGSLSSF) \
	$(THREADSLIB) $(OIDNETLIBS) $(SYSTEM_LIBS) $(LINKEXSYSLIBS)

ldapdelete: $(LDAPDEL_MAIN) $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(LDAPDEL_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(THREADSLIB) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

ldapmodify: $(LDAPMODIFY_MAIN) $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(LDAPMODIFY_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)
ldapmodifymt: $(TLDAPMODIFY_MAIN) $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(TLDAPMODIFY_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(THREADSLIB) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

ldapadd: $(LDAPADD_MAIN) $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(LDAPADD_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

ldapaddmt: $(TLDAPADD_MAIN) $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(TLDAPADD_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(THREADSLIB) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

ldapsearch: $(LDAPSEARCH_MAIN) $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(LDAPSEARCH_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

dsml2ldif: $(DSML2LDIF_MAIN) $(LIBCLNTSH)
	$(LDCCOM) $(DSML2LDIF_MAIN) $(LDAP_DEFOPTON) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

ldapcompare: $(LDAPCOMPARE_MAIN) $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(LDAPCOMPARE_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

ldapbind: $(LDAPBIND_MAIN) $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(LDAPBIND_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

ldapmoddn: $(LDAPMODDN_MAIN)  $(LIBCLNTSH) $(TOOLS_DEP_LIBS)
	$(LDCCOM) $(LDAPMODDN_MAIN) $(LDAP_DEFOPTON) $(TOOLS_DEP_LIBS) $(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

oidmon: $(GSLGUARD_MAIN)
	$(LDCCOM) $(GSLGUARD_MAIN) $(LDAP_DEFOPTON) $(GSLDSDSRV_LIBS) \
        $(LLIBGSLSG) $(GSLMON_LIBS)   $(LLIBGSLSG) \
        $(OPMNLIB) \
	$(THREADSLIB) $(OIDNETLIBS) $(LINKEXSYSLIBS)

oidctl: $(GSLMGR_MAIN)
	$(LDCCOM) $(GSLMGR_MAIN) $(LDAP_DEFOPTON) $(GSLDSDSRV_LIBS) \
         $(LLIBGSLSG) $(GSLDSDSRV_LIBS)   \
	$(THREADSLIB) $(OIDNETLIBS) $(LINKEXSYSLIBS)

ldifwrite: $(GSLLDIF_MAIN)  
	$(LDCCOM) $(GSLLDIF_MAIN) $(LDAP_DEFOPTON) $(GSLDSDSRV_LIBS) \
	$(LLIBGSLUS) $(LLIBGSLT) $(GSLDSDSRV_LIBS) $(LLIBGSLSSF) \
	$(THREADSLIB) $(OIDNETLIBS) $(LINKEXSYSLIBS)

bulkmodify: $(GSLBULKMOD_MAIN) 
	$(LDCCOM) $(GSLBULKMOD_MAIN) $(LDAP_DEFOPTON) $(GSLDSDSRV_LIBS) \
	$(LLIBGSLT) $(GSLDSDSRV_LIBS) \
	$(LLIBGSLSSF) $(THREADSLIB) $(OIDNETLIBS) $(LINKEXSYSLIBS)

oidpasswd:  $(GSLPWD_MAIN) 
	$(LDCCOM) $(GSLPWD_MAIN) $(LDAP_DEFOPTON) $(GSLDSDSRV_LIBS) \
	$(THREADSLIB) $(OIDNETLIBS) $(LINKEXSYSLIBS)

passwdconvert: $(PASSWDCONVERT_MAIN) $(LIBCLNTSH)
	$(LDCCOM) $(PASSWDCONVERT_MAIN) $(LDAP_DEFOPTON) $(THREADSLIB) $(GSLDSDSRV_LIBS) \
	$(GSLDCLNT_LIBS) $(TTLIBS) $(LINKEXSYSLIBS)

remtool: $(REMTOOL_MAIN)
	$(LDCCOM) $(REMTOOL_MAIN) $(LDAP_DEFOPTON) $(LLIBGSLRTM) \
	$(LLIBGSLRTA) $(LLIBGSLRTP) $(LLIBGSLRTU) $(GSLDSDSRV_LIBS) \
	$(GSLREPLSRV_LIBS) $(GSLDCLNT_LIBS) $(LLIBGSLRTR) $(LLIBGSLRTD) \
	$(GSLDSDSRV_LIBS) $(THREADSLIB) $(TTLIBS) $(SYSTEM_LIBS)  \
	$(LINKEXSYSLIBS)

oidcmprec: $(OIDCMPREC_MAIN) 
	$(LDCCOM) $(OIDCMPREC_MAIN) $(LDAP_DEFOPTON) \
	$(LLIBGSLRTR) $(LLIBGSLRTD) $(LLIBGSLRTU) \
	$(GSLREPLSRV_LIBS) $(GSLDCLNT_LIBS)  $(GSLDSDSRV_LIBS) \
	$(THREADSLIB) $(TTLIBS) $(SYSTEM_LIBS) $(LINKEXSYSLIBS)


inst_execs: inst_servers inst_admtools inst_clienttools inst_utils

inst_toolsexecs: inst_clienttools inst_utils

inst_hragentexecs:
	-$(MVF) odihragent $(ORACLE_HOME)/ldap/odi/bin/odihragent

inst_servers:
	-$(MVF) oidldapd $(ORACLE_HOME)/bin/oidldapd	
	-$(MKDIRP) $(ORACLE_HOME)/bin/oiddcopy
	-$(CP) $(ORACLE_HOME)/bin/oidldapd  $(ORACLE_HOME)/bin/oiddcopy
	-$(MVF) oidrepld $(ORACLE_HOME)/bin/oidrepld	
	-$(CHMOD) 4710 $(ORACLE_HOME)/bin/oidldapd
	-$(CHMOD) 600 $(ORACLE_HOME)/bin/oiddcopy/oidldapd

inst_admtools:
	-$(MVF) oidmon $(ORACLE_HOME)/bin/oidmon	
	-$(MVF) oidctl $(ORACLE_HOME)/bin/oidctl	
	-$(MVF) oiddt $(ORACLE_HOME)/ldap/bin/oiddt
	-$(CHMOD) 4710 $(ORACLE_HOME)/ldap/bin/oiddt

inst_clienttools:
	-$(MVF) ldapdelete $(ORACLE_HOME)/bin/ldapdelete	
	-$(MVF) ldapmodify $(ORACLE_HOME)/bin/ldapmodify	
	-$(MVF) ldapmodifymt $(ORACLE_HOME)/bin/ldapmodifymt
	-$(MVF) ldapadd $(ORACLE_HOME)/bin/ldapadd	
	-$(MVF) ldapaddmt $(ORACLE_HOME)/bin/ldapaddmt	
	-$(MVF) ldapsearch $(ORACLE_HOME)/bin/ldapsearch	
	-$(MVF) dsml2ldif $(ORACLE_HOME)/bin/dsml2ldif	
	-$(MVF) ldapcompare $(ORACLE_HOME)/bin/ldapcompare	
	-$(MVF) ldapbind $(ORACLE_HOME)/bin/ldapbind	
	-$(MVF) ldapmoddn $(ORACLE_HOME)/bin/ldapmoddn
	-$(RMF) $(ORACLE_HOME)/bin/oidpasswd
	-$(MVF) oidpasswd $(ORACLE_HOME)/ldap/bin/oidpasswd
	-$(RMF) $(ORACLE_HOME)/bin/remtool
	-$(MVF) remtool $(ORACLE_HOME)/ldap/bin/remtool
	-$(RMF) $(ORACLE_HOME)/bin/oidcmprec
	-$(MVF) oidcmprec $(ORACLE_HOME)/ldap/bin/oidcmprec

inst_clientonly:
	-$(MVF) ldapdelete $(ORACLE_HOME)/bin/ldapdelete	
	-$(MVF) ldapmodify $(ORACLE_HOME)/bin/ldapmodify	
	-$(MVF) ldapmodifymt $(ORACLE_HOME)/bin/ldapmodifymt
	-$(MVF) ldapadd $(ORACLE_HOME)/bin/ldapadd	
	-$(MVF) ldapaddmt $(ORACLE_HOME)/bin/ldapaddmt	
	-$(MVF) ldapsearch $(ORACLE_HOME)/bin/ldapsearch	
	-$(MVF) dsml2ldif $(ORACLE_HOME)/bin/dsml2ldif	
	-$(MVF) ldapcompare $(ORACLE_HOME)/bin/ldapcompare	
	-$(MVF) ldapbind $(ORACLE_HOME)/bin/ldapbind	
	-$(MVF) ldapmoddn $(ORACLE_HOME)/bin/ldapmoddn

inst_utils:
	-$(RMF) $(ORACLE_HOME)/bin/bulkmodify
	-$(MVF) bulkmodify $(ORACLE_HOME)/ldap/bin/bulkmodify
	-$(RMF) $(ORACLE_HOME)/bin/bulkload
	-$(MVF) bulkload $(ORACLE_HOME)/ldap/bin/bulkload
	-$(RMF) $(ORACLE_HOME)/bin/catalog
	-$(MVF) catalog $(ORACLE_HOME)/ldap/bin/catalog
	-$(RMF) $(ORACLE_HOME)/bin/bulkdelete
	-$(MVF) bulkdelete $(ORACLE_HOME)/ldap/bin/bulkdelete
	-$(RMF) $(ORACLE_HOME)/bin/ldifwrite
	-$(MVF) ldifwrite $(ORACLE_HOME)/ldap/bin/ldifwrite
	-$(RMF) $(ORACLE_HOME)/bin/passwdconvert
	-$(MVF) passwdconvert $(ORACLE_HOME)/ldap/bin/passwdconvert

clean: clean_servers clean_admtools clean_clienttools clean_utils

toolsclean: clean_clienttools clean_utils

hragentclean:
	-$(RMF) odihragent

clean_servers:
	-$(RMF) oidldapd oidrepld

clean_admtools:
	-$(RMF) oidctl oidmon oiddt 

clean_clienttools:
	-$(RMF) ldapadd ldapbind ldapcompare ldapdelete ldapmodify ldapsearch ldapmoddn oidpasswd ldapaddmt ldapmodifymt dsml2ldif remtool oidcmprec

clean_clientonly:
	-$(RMF) ldapadd ldapbind ldapcompare ldapdelete ldapmodify ldapsearch ldapmoddn ldapaddmt ldapmodifymt dsml2ldif

clean_utils:
	-$(RMF) bulkmodify passwdconvert bulkload catalog bulkdelete ldifwrite