include ../../Make.inc
include ../../Make.rules

ifneq ($(MAKECMDGOALS),clean)
ifneq (,$(USE_GLOBUS_GPT))
-include globus_makefile.mk
else
include globus_makefile.mk.pre
endif
endif


CPPLIBS=-lstdc++

ifneq ($(GSOAP_PATH),)
INCLUDES=-I${GSOAP_PATH}/include -I${GLOBUS_INCLUDES}
LIBRARIES=../logger/logger.a ${GSOAP_PATH}/lib/libgsoap++.a \
          -L${GLOBUS_LIBS} ${GLOBUS_HTTPSD_LIBS} \
          -lmysqlclient -lpthread -Wl,-Bstatic ${CPPLIBS} -Wl,-Bdynamic
else
INCLUDES=-I${GLOBUS_INCLUDES}
LIBRARIES=-L${GLOBUS_LIBS} ${GLOBUS_HTTPSD_LIBS} \
          -lpthread -Wl,-Bstatic ${CPPLIBS} -Wl,-Bdynamic
endif

SERVER_OBJECTS=httpsd.o connector.o service.o \
               ../../config/environment.o \
               ../../misc/log_time.o ../../misc/globus_error_utils.o \
               ../../misc/inttostring.o ../../misc/stringtoint.o \
               ../../auth/libauth.a ../../transfer/proxy.o \
               ../../misc/url_options.o ../../misc/escaped.o \
               ../../files/info_types.o ../../files/info_files.o \
               ../../misc/canonical_dir.o ../../misc/delete.o \
               ../../external/voms/api/libvomsapi.a

all: httpsd

httpsd: $(SERVER_OBJECTS)
	$(CPP) -o httpsd $(SERVER_OBJECTS) $(LIBRARIES)

globus_makefile.mk:
	@export GLOBUS_LOCATION=$(GLOBUS_LOCATION) ; \
	export GPT_LOCATION=$(GPT_LOCATION) ; \
	${USE_GLOBUS_GPT} -flavor=${GLOBUS_FLAVOR} globus_io globus_openldap | \
	grep '^GLOBUS_PKG_LIBS' | \
	sed 's/^GLOBUS_PKG_LIBS/GLOBUS_HTTPSD_LIBS/' >globus_makefile.mk ; \
	if [ $$? -ne 0 ] ; then rm -f globus_makefile.mk ; exit 1 ; fi

#../logger/logger.a:
#	cd ../logger ; make logger.a

../../auth/libauth.a:
	cd ../../auth ; make libauth.a

../../external/voms/api/libvomsapi.a:
	cd ../../external/voms ; make

clean:
	@rm -f httpsd $(SERVER_OBJECTS) globus_makefile.mk

