# $Id: GNUmakefile,v 1.3 2005/06/16 17:29:14 ganis Exp $
#------------------------------------------------------------------------------#
#                       C o m m o n   V a r i a b l e s                        #
#------------------------------------------------------------------------------#
include ../GNUmake.env

ifneq ($(TYPE),Darwin)

LIBUTIL = $(LIBDIR)/libXrdCrypto.a $(LIBDIR)/libXrdSut.a $(LIBDIR)/libXrdOuc.a

ifneq ($(LIBSSL),)
LIBDEPS = $(LIBDIR)/libXrdCryptossl.$(TYPESHLIB) $(LIBUTIL)

BINLIBS = -L$(LIBDIR) -lXrdCryptossl $(LIBUTIL)

LIBLIBS = -L$(LIBDIR) -lXrdCryptossl $(LIBUTIL)
else
LIBDEPS = $(LIBUTIL)

BINLIBS = $(LIBUTIL)

LIBLIBS = $(LIBUTIL)
endif

else

ifneq ($(LIBSSL),)

LIBUTIL = $(LIBDIR)/libXrdCryptossl.a \
	$(LIBDIR)/libXrdCrypto.a $(LIBDIR)/libXrdSut.a $(LIBDIR)/libXrdOuc.a

BINLIBS = $(LIBSSL) $(LIBUTIL)

LIBLIBS = $(LIBSSL) $(LIBUTIL)

else

LIBUTIL = $(LIBDIR)/libXrdCrypto.a $(LIBDIR)/libXrdSut.a $(LIBDIR)/libXrdOuc.a

BINLIBS = $(LIBUTIL)

LIBLIBS = $(LIBUTIL)

endif

LIBDEPS = $(LIBUTIL)

endif

#------------------------------------------------------------------------------#
#                             C o m p o n e n t s                              #
#------------------------------------------------------------------------------#
SOURCES = \
        XrdSecProtocolgsi.cc \
        XrdSecgsiProxy.cc \
	XrdSecgsitest.cc

HEADERS = \
        XrdSecProtocolgsi.hh

OBJECTS = \
        $(OBJDIR)/XrdSecProtocolgsi.o

OBJECTA = \
        $(OBJDIR)/XrdSecgsitest.o

OBJECTB = \
        $(OBJDIR)/XrdSecgsiProxy.o

GSIEXTRACFLAGS = $(INCSSL) -DPERL5

LIBRARY = $(LIBDIR)/libXrdSecgsi.$(TYPESHLIB)

SECGSITEST = $(BINDIR)/xrdsecgsitest

SECGSIPROXY = $(BINDIR)/xrdgsiproxy

TARGETS = $(LIBRARY) $(SECGSIPROXY)

#------------------------------------------------------------------------------#
#                           S e a r c h   P a t h s                            #
#------------------------------------------------------------------------------#

vpath XProtocol%    ../XProtocol
vpath XPty%         ../XProtocol
vpath XrdOuc% ../XrdOuc
vpath XrdSec% ../XrdSec
vpath XrdSut% ../XrdSut
vpath XrdSecpwd% ../XrdSecpwd
vpath XrdCrypto% ../XrdCrypto

#------------------------------------------------------------------------------#
#                          I n i t i a l   R u l e s                           #
#------------------------------------------------------------------------------#
include ../GNUmake.options

anything: $(TARGETS)
	@echo Make XrdSecgsi done.

#------------------------------------------------------------------------------#
#                           D e p e n d e n c i e s                            #
#------------------------------------------------------------------------------#

$(LIBRARY): $(OBJECTS) $(LIBDEPS)
	@echo Creating shared library $(LIBRARY) 
	$(ECHO)$(CC) $(OBJECTS) $(LDSO) $(LIBLIBS) $(LIBS) -o $(LIBRARY)

$(SECGSITEST): $(OBJECTA) $(LIBDEPS)
	@echo Creating executable $(SECGSITEST) 
	$(ECHO)$(LD) $(OBJECTA) $(BINLIBS) $(LIBS) -o $(SECGSITEST)

$(SECGSIPROXY): $(OBJECTB) $(LIBDEPS)
	@echo Creating executable $(SECGSIPROXY) 
	$(ECHO)$(LD) $(OBJECTB) $(BINLIBS) $(LIBS) -o $(SECGSIPROXY)

$(OBJDIR)/XrdSecgsitest.o: XrdSecgsitest.cc XrdOucString.hh \
		XrdOucError.hh XrdSutAux.hh XProtocol.hh XPtypes.hh XrdCryptoAux.hh \
		XrdCryptoFactory.hh XrdCryptoX509.hh XrdSutBucket.hh XrdCryptoRSA.hh \
		XrdCryptoX509Req.hh XrdCryptoX509Chain.hh XrdCryptoX509Crl.hh \
		XrdCryptosslgsiX509Chain.hh XrdCryptosslgsiAux.hh XrdSecgsiTrace.hh \
		XrdOucTrace.hh
	@echo Compiling XrdSecgsitest.cc 
	$(ECHO)$(CC) -c $(CFLAGS) $(GSIEXTRACFLAGS) $(INCLUDE) -o $(OBJDIR)/XrdSecgsitest.o XrdSecgsitest.cc

$(OBJDIR)/XrdSecgsiProxy.o: XrdSecgsiProxy.cc XrdOucString.hh \
		XrdOucError.hh XrdSutAux.hh XProtocol.hh XPtypes.hh XrdCryptoAux.hh \
		XrdCryptoFactory.hh XrdCryptoX509.hh XrdSutBucket.hh XrdCryptoRSA.hh \
		XrdCryptoX509Req.hh XrdCryptoX509Chain.hh XrdCryptoX509Crl.hh \
		XrdCryptosslgsiX509Chain.hh XrdCryptosslgsiAux.hh XrdSecgsiTrace.hh \
		XrdOucTrace.hh
	@echo Compiling XrdSecgsiProxy.cc 
	$(ECHO)$(CC) -c $(CFLAGS) $(GSIEXTRACFLAGS) $(INCLUDE) -o $(OBJDIR)/XrdSecgsiProxy.o XrdSecgsiProxy.cc

$(OBJDIR)/XrdSecProtocolgsi.o: XrdSecProtocolgsi.cc XrdOucLogger.hh \
		XrdOucError.hh XrdOucStream.hh XrdSutCache.hh XPtypes.hh XrdSutPFEntry.hh \
		XProtocol.hh XrdOucHash.hh XrdOucHash.icc XrdOucString.hh \
		XrdCryptoMsgDigest.hh XrdCryptoBasic.hh XrdSutBucket.hh XrdSutAux.hh \
		XrdCryptosslgsiAux.hh XrdCryptosslgsiX509Chain.hh \
		XrdCryptoX509Chain.hh XrdCryptoX509.hh XrdCryptoRSA.hh XrdCryptoAux.hh \
		XrdCryptoX509Crl.hh XrdCryptoX509Req.hh XrdSecProtocolgsi.hh \
		XrdOucErrInfo.hh XrdOucPlatform.hh  XrdOucTokenizer.hh \
		XrdSecInterface.hh XrdSecEntity.hh XrdSecgsiTrace.hh \
		XrdOucTrace.hh XrdSutPFile.hh XrdSutBuffer.hh XrdSutBuckList.hh \
		XrdSutRndm.hh XrdCryptoCipher.hh XrdCryptoFactory.hh
	@echo Compiling XrdSecProtocolgsi.cc 
	$(ECHO)$(CC) -c $(CFLAGS) $(GSIEXTRACFLAGS) $(INCLUDE) -o $(OBJDIR)/XrdSecProtocolgsi.o XrdSecProtocolgsi.cc
