version 1.102, 2005/10/11 11:51:44
|
version 1.128, 2006/07/25 19:40:50
|
|
|
#//%2005//////////////////////////////////////////////////////////////////////// |
#//%2006//////////////////////////////////////////////////////////////////////// |
#// | #// |
#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development | #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. | #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
|
|
#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. | #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; | #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
#// EMC Corporation; VERITAS Software Corporation; The Open Group. | #// EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
#// EMC Corporation; Symantec Corporation; The Open Group. |
#// | #// |
#// Permission is hereby granted, free of charge, to any person obtaining a copy | #// Permission is hereby granted, free of charge, to any person obtaining a copy |
#// of this software and associated documentation files (the "Software"), to | #// of this software and associated documentation files (the "Software"), to |
|
|
endif | endif |
| |
################################################################################ | ################################################################################ |
|
ifeq ($(findstring _GNU, $(PEGASUS_PLATFORM)), _GNU) |
|
ifdef CXX |
|
GCC_VERSION = $(shell $(CXX) -dumpversion) |
|
else |
|
GCC_VERSION = $(shell g++ -dumpversion) |
|
endif |
|
else |
|
GCC_VERSION = |
|
endif |
| |
OBJ_DIR = $(HOME_DIR)/obj/$(DIR) | OBJ_DIR = $(HOME_DIR)/obj/$(DIR) |
BIN_DIR = $(HOME_DIR)/bin | BIN_DIR = $(HOME_DIR)/bin |
|
|
# | # |
# To use the PEGASUS_CIM_SCHEMA variable the Schema mof | # To use the PEGASUS_CIM_SCHEMA variable the Schema mof |
# files must be placed in the directory | # files must be placed in the directory |
# $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) |
# $(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) |
# | # |
# The value of PEGASUS_CIM_SCHEMA must conform to the | # The value of PEGASUS_CIM_SCHEMA must conform to the |
# following syntax: | # following syntax: |
|
|
| |
endef | endef |
| |
|
ifndef FORCE_NOCASE |
|
|
DIFFSORT = $(SORT) $(1) > $(1).tmp $(NL) \ | DIFFSORT = $(SORT) $(1) > $(1).tmp $(NL) \ |
$(SORT) $(2) > $(2).tmp $(NL) \ | $(SORT) $(2) > $(2).tmp $(NL) \ |
$(DIFF) $(1).tmp $(2).tmp $(NL) \ | $(DIFF) $(1).tmp $(2).tmp $(NL) \ |
$(RM) -f $(1).tmp $(NL) \ | $(RM) -f $(1).tmp $(NL) \ |
$(RM) -f $(2).tmp $(NL) | $(RM) -f $(2).tmp $(NL) |
| |
|
else |
|
|
|
DIFFSORT = $(SORT) -f $(1) > $(1).tmp $(NL) \ |
|
$(SORT) -f $(2) > $(2).tmp $(NL) \ |
|
$(DIFF) -i $(1).tmp $(2).tmp $(NL) \ |
|
$(RM) -f $(1).tmp $(NL) \ |
|
$(RM) -f $(2).tmp $(NL) |
|
|
|
endif |
|
|
|
DIFFSORTNOCASE = $(SORT) $(1) > $(1).tmp $(NL) \ |
|
$(SORT) $(2) > $(2).tmp $(NL) \ |
|
$(DIFF) -i $(1).tmp $(2).tmp $(NL) \ |
|
$(RM) -f $(1).tmp $(NL) \ |
|
$(RM) -f $(2).tmp $(NL) |
|
|
|
# |
|
# The following is used to define the usage message for MakeFile |
|
# |
|
# See the pegasus/Makfile for an exampleof its usage. |
|
# |
|
USAGE = @$(ECHO) " $(1)" |
|
|
################################################################################ | ################################################################################ |
## | ## |
## Attempt to include a platform configuration file: | ## Attempt to include a platform configuration file: |
|
|
## | ## |
## Controls the maximum number of threads allowed per message service queue. | ## Controls the maximum number of threads allowed per message service queue. |
## It is allowed to range between 1 and MAX_THREADS_PER_SVC_QUEUE_LIMIT | ## It is allowed to range between 1 and MAX_THREADS_PER_SVC_QUEUE_LIMIT |
## as set in pegasus/src/Pegasus/Common/MessageQueueService.cpp. |
## as set in pegasus/src/Pegasus/Common/MessageQueueService.cpp. If the |
## |
## specified value is out of range, MAX_THREADS_PER_SVC_QUEUE_LIMIT is |
## defaults to 0 (zero) |
## used. The default value is MAX_THREADS_PER_SVC_QUEUE_DEFAULT, as |
## |
## defined in pegasus/src/Pegasus/Common/MessageQueueService.cpp. |
## if set to 0 (zero) |
|
## then the max threads per service queue is |
|
## set to MAX_THREADS_PER_SVC_QUEUE_DEFAULT. |
|
## if set larger than MAX_THREADS_PER_SVC_QUEUE_LIMIT |
|
## then the max threads per service queue is |
|
## set to MAX_THREADS_PER_SVC_QUEUE_LIMIT. |
|
## | ## |
## Label Current value | ## Label Current value |
## -------------------------------------- ------------- | ## -------------------------------------- ------------- |
|
|
| |
ifdef PEGASUS_MAX_THREADS_PER_SVC_QUEUE | ifdef PEGASUS_MAX_THREADS_PER_SVC_QUEUE |
DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE) | DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE) |
else |
|
DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=0 |
|
endif | endif |
| |
############################################################################## | ############################################################################## |
|
|
endif | endif |
| |
# | # |
|
# PEP 72 |
|
# Allow Out-of-Process Providers to be disabled by default |
|
# |
|
ifdef PEGASUS_DEFAULT_ENABLE_OOP |
|
ifeq ($(PEGASUS_DEFAULT_ENABLE_OOP),true) |
|
DEFINES += -DPEGASUS_DEFAULT_ENABLE_OOP |
|
else |
|
ifneq ($(PEGASUS_DEFAULT_ENABLE_OOP),false) |
|
$(error PEGASUS_DEFAULT_ENABLE_OOP ($(PEGASUS_DEFAULT_ENABLE_OOP)) invalid, must be true or false) |
|
endif |
|
endif |
|
endif |
|
|
|
# |
# PEP 197 | # PEP 197 |
# Allow the Provider User Context feature to be disabled. | # Allow the Provider User Context feature to be disabled. |
# | # |
|
|
DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION | DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION |
endif | endif |
| |
|
# PEP 233 |
|
# Controls support for EmbeddedInstance properties |
|
# and parameters |
|
ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT |
|
ifeq ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT), true) |
|
DEFINES += -DPEGASUS_EMBEDDED_INSTANCE_SUPPORT |
|
else |
|
ifneq ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT), false) |
|
$(error PEGASUS_EMBEDDED_INSTANCE_SUPPORT ($(PEGASUS_EMBEDDED_INSTANCE_SUPPORT)) invalid, must be true or false) |
|
endif |
|
endif |
|
else |
|
DEFINES += -DPEGASUS_EMBEDDED_INSTANCE_SUPPORT |
|
endif |
|
|
# Allow ExecQuery functionality to be enabled | # Allow ExecQuery functionality to be enabled |
ifndef PEGASUS_ENABLE_EXECQUERY | ifndef PEGASUS_ENABLE_EXECQUERY |
DEFINES += -DPEGASUS_DISABLE_EXECQUERY | DEFINES += -DPEGASUS_DISABLE_EXECQUERY |
|
|
DEFINES += -DPEGASUS_ENABLE_EMAIL_HANDLER | DEFINES += -DPEGASUS_ENABLE_EMAIL_HANDLER |
endif | endif |
| |
|
# Allow qualifiers to be disabled for instance operations |
|
ifdef PEGASUS_DISABLE_INSTANCE_QUALIFIERS |
|
DEFINES += -DPEGASUS_DISABLE_INSTANCE_QUALIFIERS |
|
endif |
|
|
|
# Controls snmp indication handler to use NET-SNMP to deliver trap |
|
ifdef PEGASUS_USE_NET_SNMP |
|
DEFINES += -DPEGASUS_USE_NET_SNMP |
|
endif |
|
|
|
ifdef PEGASUS_HAS_SSL |
|
ifndef OPENSSL_BIN |
|
OPENSSL_BIN = $(OPENSSL_HOME)/bin |
|
endif |
|
ifndef OPENSSL_COMMAND |
|
OPENSSL_COMMAND = $(OPENSSL_BIN)/openssl |
|
endif |
|
ifndef OPENSSL_SET_SERIAL_SUPPORTED |
|
ifneq (, $(findstring 0.9.6, $(shell $(OPENSSL_COMMAND) version))) |
|
OPENSSL_SET_SERIAL_SUPPORTED = false |
|
else |
|
OPENSSL_SET_SERIAL_SUPPORTED = true |
|
endif |
|
endif |
|
|
|
# Enable CRL verification |
|
ifndef PEGASUS_ENABLE_SSL_CRL_VERIFICATION |
|
PEGASUS_ENABLE_SSL_CRL_VERIFICATION = true |
|
endif |
|
|
|
# Check for Enable SSL CRL verification |
|
ifdef PEGASUS_ENABLE_SSL_CRL_VERIFICATION |
|
ifeq ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION), true) |
|
FLAGS += -DPEGASUS_ENABLE_SSL_CRL_VERIFICATION |
|
else |
|
ifneq ($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION), false) |
|
$(error PEGASUS_ENABLE_SSL_CRL_VERIFICATION\ |
|
($(PEGASUS_ENABLE_SSL_CRL_VERIFICATION)) invalid, \ |
|
must be true or false) |
|
endif |
|
endif |
|
endif |
|
endif |
|
|
# | # |
# PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP | # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP |
# | # |
# Use PEGASUS_ENABLE_SLP to enable SLP functions in the Pegasus standard |
# PEGASUS_DISABLE_SLP has been depracated. New use model is: |
# compile on those platforms that do not enable it by default. |
|
# | # |
# Use PEGASUS_DISABLE_SLP to disable SLP on those platforms that enable |
# Use PEGASUS_ENABLE_SLP=true to enable compilation of SLP functions. |
# it by default. |
# |
|
# Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions. |
# | # |
# Currently (Aug. 12, 2005) Windows is the only platform that enables SLP | # Currently (Aug. 12, 2005) Windows is the only platform that enables SLP |
# by default. | # by default. |
|
|
# the variable PEGASUS_ENABLE_SLP. | # the variable PEGASUS_ENABLE_SLP. |
# | # |
# | # |
|
|
ifdef PEGASUS_ENABLE_SLP | ifdef PEGASUS_ENABLE_SLP |
ifdef PEGASUS_DISABLE_SLP | ifdef PEGASUS_DISABLE_SLP |
$(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set) | $(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set) |
endif | endif |
|
endif |
|
|
|
ifdef PEGASUS_DISABLE_SLP |
|
$(error PEGASUS_DISABLE_SLP has been deprecated. Please use PEGASUS_ENABLE_SLP=[true/false] ) |
|
|
|
PEGASUS_ENABLE_SLP=false |
|
|
|
endif |
|
|
|
ifdef PEGASUS_ENABLE_SLP |
|
ifeq ($(PEGASUS_ENABLE_SLP),true) |
DEFINES += -DPEGASUS_ENABLE_SLP | DEFINES += -DPEGASUS_ENABLE_SLP |
|
else |
|
ifneq ($(PEGASUS_ENABLE_SLP),false) |
|
$(error PEGASUS_ENABLE_SLP ($(PEGASUS_ENABLE_SLP)) invalid, must be true or false) |
|
endif |
|
endif |
|
endif |
|
|
|
|
|
############################################################################ |
|
# |
|
# PEGASUS_USE_OPENSLP |
|
# |
|
# Environment variable to set openslp as SLP environment to use |
|
# for SLP Directory and User Agents. |
|
# |
|
# Allows enabling use of openslp interfaces for slp instead of the |
|
# internal pegasus slp agent. Note that this does not disable the |
|
# compilation of the internal agent code, etc. However, it assumes |
|
# openslp is installed on the platform and changes the interfaces |
|
# to match this. At this moment, this is a change specifically for |
|
# adaptec but we expect to generalize it to provide openslp as a |
|
# generalized alternative to ldapslp. |
|
# to use this. To set this function up, |
|
# |
|
# Use this variable in conjunction with PEGASUS_OPENSLP_HOME |
|
# to enable OpenSlp as the slp implementation. |
|
# |
|
# NOTE that it has no affect if the PEGASUS_ENABLE_SLP etc. flags are not set. |
|
# |
|
|
|
ifdef PEGASUS_USE_OPENSLP |
|
ifeq ($(PEGASUS_ENABLE_SLP),true) |
|
DEFINES += -DPEGASUS_USE_OPENSLP |
|
else |
|
$(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency) |
|
endif |
|
endif |
|
|
|
|
|
############################################################################ |
|
# |
|
# PEGASUS_OPENSLP_HOME |
|
# |
|
# Environment variable to set home location for OpenSLP include and library |
|
# files if they are located somewhere other than /usr/include and /usr/lib. |
|
# |
|
# PEGASUS_USE_OPENSLP must also be defined for this environment variable |
|
# to have any effect. |
|
# |
|
# This is the directory level within which both the include and lib |
|
# directories holding the OpenSLP files will be found. |
|
# |
|
# EG: If the are located in /opt/OpenSLP/include and /opt/OpenSLP/lib |
|
# then this environment variable should be set to /opt/OpenSLP. |
|
# |
|
|
|
|
|
# |
|
# Enable this flag to allow the handshake to continue regardless of verification result |
|
# |
|
ifdef PEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT |
|
DEFINES += -DPEGASUS_OVERRIDE_SSL_CERT_VERIFICATION_RESULT |
endif | endif |
| |
# set PEGASUS_DEBUG into the DEFINES if it exists. | # set PEGASUS_DEBUG into the DEFINES if it exists. |
|
|
FLAGS += -DPEGASUS_SNIA_EXTENSIONS | FLAGS += -DPEGASUS_SNIA_EXTENSIONS |
endif | endif |
| |
|
ifdef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER |
|
ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) |
|
FLAGS += -DPEGASUS_ENABLE_CMPI_PROVIDER_MANAGER |
|
else |
|
ifneq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), false) |
|
$(error PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER \ |
|
($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER)) invalid, \ |
|
must be true or false) |
|
endif |
|
endif |
|
endif |
|
|
|
ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER |
|
ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true) |
|
FLAGS += -DPEGASUS_ENABLE_JMPI_PROVIDER_MANAGER |
|
else |
|
ifneq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), false) |
|
$(error PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER \ |
|
($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER)) invalid, \ |
|
must be true or false) |
|
endif |
|
endif |
|
endif |
|
|
# Allow remote CMPI functionality to be enabled | # Allow remote CMPI functionality to be enabled |
ifdef PEGASUS_ENABLE_REMOTE_CMPI | ifdef PEGASUS_ENABLE_REMOTE_CMPI |
FLAGS += -DPEGASUS_ENABLE_REMOTE_CMPI | FLAGS += -DPEGASUS_ENABLE_REMOTE_CMPI |
|
|
FLAGS += -DPEGASUS_USE_RELEASE_DIRS | FLAGS += -DPEGASUS_USE_RELEASE_DIRS |
endif | endif |
| |
|
ifdef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS |
|
FLAGS += -DPEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS |
|
endif |
|
|
# Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib | # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib |
ifndef PEGASUS_DEST_LIB_DIR | ifndef PEGASUS_DEST_LIB_DIR |
PEGASUS_DEST_LIB_DIR = lib | PEGASUS_DEST_LIB_DIR = lib |
|
|
| |
################################################################################ | ################################################################################ |
## | ## |
|
## PEGASUS_CLASS_CACHE_SIZE |
|
## |
|
## This environment variable gives the size of the class cache used by |
|
## the CIM repository. When it is undefined, the size defaults to something |
|
## relatively small (see src/Pegasus/Repository/CIMRepository.cpp). If |
|
## defined, it gives the size of the class cache. If it is 0 , the class |
|
## cache is not defined compiled in at all. |
|
## |
|
################################################################################ |
|
|
|
ifdef PEGASUS_CLASS_CACHE_SIZE |
|
DEFINES += -DPEGASUS_CLASS_CACHE_SIZE=$(PEGASUS_CLASS_CACHE_SIZE) |
|
endif |
|
|
|
################################################################################ |
|
## |
## Additional build flags passed in through environment variables. | ## Additional build flags passed in through environment variables. |
## These flags are added to the compile/link commands. | ## These flags are added to the compile/link commands. |
## | ## |
|
|
EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS) | EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS) |
endif | endif |
| |
|
##============================================================================== |
|
## |
|
## By definining PEGASUS_USE_STATIC_LIBRARIES in the environment and STATIC |
|
## in the Makefile, a static library is produced rather than a shared one. |
|
## PEGASUS_USE_STATIC_LIBRARIES should be "true" or "false". |
|
## |
|
##============================================================================== |
|
|
|
ifdef PEGASUS_USE_STATIC_LIBRARIES |
|
ifeq ($(PEGASUS_USE_STATIC_LIBRARIES),true) |
|
else |
|
ifneq ($(PEGASUS_USE_STATIC_LIBRARIES),false) |
|
$(error PEGASUS_USE_STATIC_LIBRARIES ($(PEGASUS_USE_STATIC_LIBRARIES)) invalid, must be true or false) |
|
endif |
|
endif |
|
endif |
|
|
|
|
|
ifndef PEGASUS_JAVA_CLASSPATH_DELIMITER |
|
PEGASUS_JAVA_CLASSPATH_DELIMITER = : |
|
endif |