# -*- Makefile -*-
#----------------------------------------------------------------------------
#       GNU Makefile
#
# @file GNUmakefile.SSL
#
# $Id: gnu.mpd 90587 2010-06-14 14:17:55Z mitza $
#
# This file was automatically generated by MPC.  Any changes made directly to
# this file will be lost the next time it is generated.
#
#----------------------------------------------------------------------------
MAKEFILE         = GNUmakefile.SSL
DEPENDENCY_FILE  = .depend.SSL

LIB_PREFIX      ?= lib

## LIB_CHECKED may be set to empty later on in this file
LIB_UNCHECKED    = $(LIB_PREFIX)ACE_SSL.$(LIBEXT)
LIB_CHECKED      = $(LIB_UNCHECKED)
LIB_NAME         = $(LIB_PREFIX)ACE_SSL

## SHLIB may be set to empty later on in this file
SHLIB_UNCHECKED  = $(LIB_PREFIX)ACE_SSL.$(SOEXT)
SHLIB            = $(SHLIB_UNCHECKED)

FILES = \
  SSL_SOCK.cpp \
  SSL_SOCK_Stream.cpp \
  SSL_SOCK_Connector.cpp \
  SSL_Asynch_Stream.cpp \
  SSL_SOCK_Acceptor.cpp \
  SSL_Context.cpp \
  SSL_Asynch_BIO.cpp

#----------------------------------------------------------------------------
#       Include macros and targets
#----------------------------------------------------------------------------
ACE_SHLIBS = -lACE $(PLATFORM_SSL_LIBS)

PRJ_TYPE = library

COLLAPSE_SLASHES = $(if $(findstring //,$(1)),$(call COLLAPSE_SLASHES,$(subst //,/,$(1))),$(1))
INSLIB ?= $(call COLLAPSE_SLASHES,../../lib)
ifeq ($(INSLIB),.)
  ifeq ($(CURDIR),)
    ifeq ($(PWD),)
      PWD=$(shell pwd)
    endif
  else
    PWD=$(CURDIR)
  endif
  INSLIB = $(PWD)
endif
OUTPUT_DIRECTORY = $(INSLIB)

include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU

# To build multiple targets in the same directory on AIX, it works
# best to have a template directory per project.
# The compiler/linker isn't too smart about instantiating templates...
ifdef TEMPINCDIR
TEMPINCDIR := $(TEMPINCDIR)/SSL
all: $(TEMPINCDIR)
endif

ifneq ($(OUTPUT_DIRECTORY),)
.PHONY: create_output_directory.local
all: create_output_directory.local
create_output_directory.local:
	-@$(MKDIR) "$(OUTPUT_DIRECTORY)" $(ACE_NUL_STDERR)
endif

# turn off libcheck if doing a dry run
ifeq ($(findstring n, $(MAKEFLAGS)),n)
  LIBCHECK = 1
else
  # turn off libcheck if keep going was passed too
  ifeq ($(findstring k, $(MAKEFLAGS)),k)
    LIBCHECK = 1
  else
    LIBCHECK ?= $(filter-out $(foreach lib,ACE,$(findstring $(lib),$(foreach libpath,. $(if $(ARCH),./$(ARCH)) ../../lib $(if $(ARCH),../../lib/$(ARCH)) /usr/lib /usr/lib64 $(INSLIB),$(wildcard $(libpath)/$(LIB_PREFIX)$(lib).* $(libpath)/$(lib).lib)))),ACE)
    ifeq ($(LIBCHECK),)
      LIBCHECK = 1
    endif
  endif
endif
ifeq ($(ssl),1)
ifneq ($(ace_for_tao),1)
ifneq ($(LIBCHECK), 1)
  LIB_CHECKED   =
  SHLIB =
  all: lib_warning
endif
else
  LIB_CHECKED   =
  SHLIB =
  all: avoid_warning
endif
else
  LIB_CHECKED   =
  SHLIB =
  all: require_warning
endif

ifeq ($(ssl),1)
ifneq ($(ace_for_tao),1)
else
  LIB_CHECKED   =
  SHLIB =
  all: avoid_warning
endif
else
  LIB_CHECKED   =
  SHLIB =
  all: require_warning
endif
LSRC   = $(FILES)

include $(ACE_ROOT)/include/makeinclude/macros.GNU
include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
ifeq ($(VXWORKSLINK),1)
include $(TGT_DIR)/h/make/rules.$(PRJ_TYPE)
endif

ifeq ($(VXWORKSLINK),1)
LDLIBPATH     = -L. -L../../lib $(PLATFORM_SSL_LDFLAGS)
else
LDFLAGS      += -L. $(if $(ARCH),-L./$(ARCH)) -L../../lib $(if $(ARCH),-L../../lib/$(ARCH)) $(PLATFORM_SSL_LDFLAGS)
endif
CPPFLAGS     += -I../..
CPPFLAGS     += $(PLATFORM_SSL_CPPFLAGS)
ifeq ($(shared_libs),1)
  ifneq ($(SHLIB),)
    CPPFLAGS += -DACE_SSL_BUILD_DLL
  endif
endif
ifeq ($(static_libs),1)
  CPPFLAGS += -DACE_AS_STATIC_LIBS
endif

#----------------------------------------------------------------------------
#       Local targets
#----------------------------------------------------------------------------
lib_warning:
	@echo SSL will not be built due to the following missing library: $(LIBCHECK) >&2

ifneq ($(ssl),1)
requires_disabled_macros += ssl
endif
require_warning:
	@echo SSL will not be built due to the following disabled make macros: $(requires_disabled_macros)>&2

ifeq ($(ace_for_tao),1)
avoids_enabled_macros += ace_for_tao
endif
avoid_warning:
	@echo SSL will not be built due to the following enabled make macros: $(avoids_enabled_macros)>&2

## Some OS's have /bin/test others only have /usr/bin/test
ifeq ($(wildcard /bin/test), /bin/test)
  TEST_EXE = /bin/test
else
ifeq ($(wildcard /usr/bin/test), /usr/bin/test)
  TEST_EXE = /usr/bin/test
endif
endif

SPACE = $(should_be_unset) $(should_be_unset)
ifneq ($(GENERATED_DIRTY),)
.PRECIOUS: $(GENERATED_DIRTY)
## If the generated files are anything but source files, we need to
## ensure that those files are generated before we attempt to build anything
## else.
ifeq ($(OBJS_DEPEND_ON_GENERATED),1)
$(VDIR)$(ACE_PCH_FILE) $(addprefix $(VDIR), $(OBJS)): $(GENERATED_DIRTY)
$(VSHDIR)$(ACE_PCH_FILE) $(VSHOBJS): $(GENERATED_DIRTY)
endif
endif


realclean: clean
ifneq ($(GENERATED_DIRTY),)
	-$(RM) -r $(GENERATED_DIRTY)
endif

__prebuild__:
ifeq ($(ssl),1)
ifneq ($(ace_for_tao),1)
	@-:
endif
endif


.PHONY: install
install: all
INSTALL_LIB ?= lib
ifneq ($(INSTALL_PREFIX),)
ifneq ($(install_rpath),0)
LDFLAGS += -Wl,-R,$(INSTALL_PREFIX)/$(INSTALL_LIB)
endif
endif

PRJINST_OPTIONS ?=
INST_DIR ?= /ace/SSL
COMMA = ,
SPACE = $(should_be_unset) $(should_be_unset)
INSTALLER ?= $(MPC_ROOT)/prj_install.pl
CUSTOM_INST_TAGS = $(sort  )

LIB_INST_TAGS = header_files template_files$(if $(findstring 1,$(inline)), inline_files)$(if $(CUSTOM_INST_TAGS), $(CUSTOM_INST_TAGS))
LIB_INST_LOCATIONS = $(foreach tag,$(LIB_INST_TAGS),-b $(tag)=include$(INST_DIR))

INST_TAGS = lib_output$(if $(LIB_INST_TAGS), $(LIB_INST_TAGS))
INST_LOCATIONS = $(LIB_INST_LOCATIONS) -o lib_output=$(INSTALL_LIB)

DATA_INST_TAGS = 
INST_LOCATIONS += $(if $(DATA_INST_TAGS),-x installdata_files -b installdata_files=share$(INST_DIR))
INST_TAGS := $(INST_TAGS)$(if $(DATA_INST_TAGS), $(DATA_INST_TAGS))

ifeq ($(INSTALLER),/prj_install.pl)
INSTALLER = $(ACE_ROOT)/MPC/prj_install.pl
endif

ifeq ($(LIBCHECK),1)
ifeq ($(ssl),1)
ifneq ($(ace_for_tao),1)
install:
ifeq ($(INST_TAGS),)
	@echo Nothing to install.
else
ifeq ($(INSTALL_PREFIX),)
	@echo The variable INSTALL_PREFIX must be set to install.
	@echo If binaries are already built and you want to use RPATH,
	@echo they must be rebuilt after changing INSTALL_PREFIX.
	@false
else
	perl -ne'if (/^#END MPC-Generated Install Info/) {exit 0}' \
	  -e'elsif (/^#BEGIN MPC-Generated Install Info/) {$$ok=1}' \
	  -e'elsif ($$ok && s/^#//) {print}' $(MAKEFILE) | \
	$(INSTALLER) -i -s $(subst $(SPACE),$(COMMA),$(INST_TAGS)) \
	  $(INST_LOCATIONS) $(if $(ARCH),-d $(ARCH)) $(PRJINST_OPTIONS) \
	  $(INSTALL_PREFIX)
endif
endif
endif
endif
endif

#BEGIN MPC-Generated Install Info
#build_files:
#ssl.mpc
#ssl_for_tao.mpc
#
#inline_files:
#SSL_Asynch_Stream.inl
#SSL_SOCK.inl
#SSL_SOCK_Connector.inl
#SSL_SOCK_Acceptor.inl
#SSL_Context.inl
#SSL_SOCK_Stream.inl
#
#header_files:
#SSL_Asynch_Stream.h
#SSL_SOCK.h
#SSL_SOCK_Connector.h
#SSL_SOCK_Acceptor.h
#SSL_Asynch_BIO.h
#SSL_Context.h
#SSL_SOCK_Stream.h
#SSL_Export.h
#sslconf.h
#
#pkgconfig_files:
#ACE_SSL.pc.in
#
#source_files:
#SSL_SOCK.cpp
#SSL_SOCK_Stream.cpp
#SSL_SOCK_Connector.cpp
#SSL_Asynch_Stream.cpp
#SSL_SOCK_Acceptor.cpp
#SSL_Context.cpp
#SSL_Asynch_BIO.cpp
#
#lib_output:
#../../lib ACE_SSL

#END MPC-Generated Install Info