version 1.153, 2007/09/12 21:30:58
|
version 1.171, 2008/06/11 06:29:38
|
|
|
$(error PEGASUS_ROOT environment variable undefined) | $(error PEGASUS_ROOT environment variable undefined) |
endif | endif |
| |
# l10n |
|
ifdef ICU_ROOT |
|
ICUROOT = $(subst \,/,$(ICU_ROOT)) |
|
endif |
|
|
|
ifdef PEGASUS_TMP | ifdef PEGASUS_TMP |
TMP_DIR = $(subst \,/,$(PEGASUS_TMP)) | TMP_DIR = $(subst \,/,$(PEGASUS_TMP)) |
else | else |
|
|
| |
############################################################################# | ############################################################################# |
| |
|
ifdef PEGASUS_TEST_VALGRIND_LOG_DIR |
|
BIN_DIR = $(HOME_DIR)/bin_exe |
|
VALGRIND_SCRIPT_BIN_DIR = $(HOME_DIR)/bin |
|
else |
BIN_DIR = $(HOME_DIR)/bin | BIN_DIR = $(HOME_DIR)/bin |
|
endif |
LIB_DIR = $(HOME_DIR)/lib | LIB_DIR = $(HOME_DIR)/lib |
| |
# l10n | # l10n |
|
|
# option of the mof compiler needs to be set. | # option of the mof compiler needs to be set. |
# ***** | # ***** |
| |
ifdef PEGASUS_CIM_SCHEMA |
ifndef PEGASUS_CIM_SCHEMA |
|
PEGASUS_CIM_SCHEMA=CIM217 |
|
endif |
|
|
CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) | CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) |
ifeq ($(findstring $(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA))),1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 271 28),) | ifeq ($(findstring $(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA))),1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 271 28),) |
CIM_SCHEMA_VER= | CIM_SCHEMA_VER= |
else | else |
CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA))) | CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA))) |
endif | endif |
else |
|
CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM2131 |
|
CIM_SCHEMA_VER= |
|
endif |
|
| |
ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR))) | ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR))) |
ALLOW_EXPERIMENTAL = -aE | ALLOW_EXPERIMENTAL = -aE |
|
|
## | ## |
################################################################################ | ################################################################################ |
| |
|
############################################################################ |
|
# OpenPegasus relies on the existence of an external set of libraries to |
|
# support localized messages. Today, the only supported package is |
|
# the International Components for Unicode (ICU) OSS project, |
|
# http://oss.software.ibm.com/icu. If PEGASUS_HAS_ICU is true, |
|
# OpenPegasus will use the ICU library. |
|
# |
|
# ICU_INSTALL points to the directory containing the ICU installation. |
|
# If set, the OpenPegasus will use this variable to locate the ICU |
|
# include files and libraries. If not set, the ICU libraries are expected |
|
# to be installed in a directory that is searched by default. |
|
# |
|
# If PEGASUS_HAS_ICU is not set and ICU_INSTALL is set, the value of |
|
# PEGASUS_HAS_ICU will be set to true. |
|
############################################################################ |
|
|
|
ifdef PEGASUS_HAS_ICU |
|
ifneq ($(PEGASUS_HAS_ICU),true) |
|
ifneq ($(PEGASUS_HAS_ICU),false) |
|
$(error PEGASUS_HAS_ICU ($(PEGASUS_HAS_ICU)) \ |
|
invalid, must be true or false) |
|
endif |
|
endif |
|
else |
|
ifdef ICU_INSTALL |
|
PEGASUS_HAS_ICU = true |
|
endif |
|
endif |
|
|
|
ifdef PEGASUS_HAS_MESSAGES |
|
DEFINES += -DPEGASUS_HAS_MESSAGES |
|
|
|
ifneq ($(PEGASUS_HAS_ICU),true) |
|
$(error Support for localized messages in OpenPegasus \ |
|
requires PEGASUS_HAS_ICU to be true) |
|
endif |
|
endif |
|
|
|
ifeq ($(PEGASUS_HAS_ICU),true) |
|
DEFINES += -DPEGASUS_HAS_ICU |
|
|
|
################################## |
|
## |
|
## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root |
|
## resource bundle, default is to uppercase the root resource bundle |
|
## |
|
################################## |
|
|
|
ifdef ICU_NO_UPPERCASE_ROOT |
|
CNV_ROOT_FLAGS = |
|
else |
|
CNV_ROOT_FLAGS = -u |
|
endif |
|
|
|
#################################### |
|
## |
|
## ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root |
|
## resource bundle will be generated from. Defaults to _en if not set. |
|
## If set, for any directory containing resource bundles, there must |
|
## exist a file name: package($ICU_ROOT_BUNDLE_LANG).txt or the make |
|
## messages target will fail. |
|
## |
|
#################################### |
|
|
|
ifdef ICU_ROOT_BUNDLE_LANG |
|
MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG) |
|
else |
|
MSG_ROOT_SOURCE = _en |
|
endif |
|
|
|
ifdef ICU_INSTALL |
|
MSG_COMPILE = $(ICU_INSTALL)/bin/genrb |
|
else |
|
MSG_COMPILE = genrb |
|
endif |
|
|
|
MSG_FLAGS = |
|
MSG_SOURCE_EXT = .txt |
|
MSG_COMPILE_EXT = .res |
|
|
|
ifeq ($(OS),linux) |
|
CNV_ROOT_CMD = $(BIN_DIR)/cnv2rootbundle |
|
else |
|
CNV_ROOT_CMD = cnv2rootbundle |
|
endif |
|
|
|
# The library path option is needed on all link commands with some ICU |
|
# builds, because internal ICU library dependencies are resolved |
|
# dynamically. |
|
ifdef ICU_INSTALL |
|
ifeq ($(OS),zos) |
|
# On z/OS, the -L option must appear before the -o option and |
|
# the object (.o) and sidedeck (.x) files in the link command. |
|
FLAGS += -L$(ICU_INSTALL)/lib |
|
PR_FLAGS += -L$(ICU_INSTALL)/lib |
|
else |
|
EXTRA_LIBRARIES += -L$(ICU_INSTALL)/lib |
|
endif |
|
endif |
|
|
|
# The ICU include path and library dependencies are restricted to |
|
# where they are specifically needed. |
|
ifeq ($(HAS_ICU_DEPENDENCY),true) |
|
ifdef ICU_INSTALL |
|
SYS_INCLUDES += -I$(ICU_INSTALL)/include |
|
endif |
|
|
|
ifeq ($(OS),windows) |
|
EXTRA_LIBRARIES += \ |
|
$(ICU_INSTALL)/lib/icuuc.lib \ |
|
$(ICU_INSTALL)/lib/icuin.lib \ |
|
$(ICU_INSTALL)/lib/icudt.lib |
|
else |
|
ifeq ($(OS),zos) |
|
EXTRA_LIBRARIES += \ |
|
$(ICU_INSTALL)/lib/libicui18n.x \ |
|
$(ICU_INSTALL)/lib/libicuuc.x |
|
else |
|
EXTRA_LIBRARIES += -licuuc -licui18n |
|
ifeq ($(OS),linux) |
|
EXTRA_LIBRARIES += -licudata |
|
endif |
|
endif |
|
endif |
|
endif |
|
endif |
| |
################################################################################ | ################################################################################ |
## | ## |
|
|
DEFINES += -DPEGASUS_REMOVE_TRACE | DEFINES += -DPEGASUS_REMOVE_TRACE |
endif | endif |
| |
|
# PEP 315 |
|
# Control whether compile with or without method entertexit trace code. |
|
# A value other than 'true' or 'false' will cause a make error. |
|
ifdef PEGASUS_REMOVE_METHODTRACE |
|
ifeq ($(PEGASUS_REMOVE_METHODTRACE),true) |
|
DEFINES += -DPEGASUS_REMOVE_METHODTRACE |
|
else |
|
ifneq ($(PEGASUS_REMOVE_METHODTRACE),false) |
|
$(error PEGASUS_REMOVE_METHODTRACE ($(PEGASUS_REMOVE_METHODTRACE)) invalid, must be true or false) |
|
endif |
|
endif |
|
endif |
|
|
# PEP 161 | # PEP 161 |
# Control whether utf-8 filenames are supported by the repository | # Control whether utf-8 filenames are supported by the repository |
ifdef PEGASUS_SUPPORT_UTF8_FILENAME | ifdef PEGASUS_SUPPORT_UTF8_FILENAME |
|
|
DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION | DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION |
endif | endif |
| |
|
############################################################################ |
|
# |
|
# PEGASUS_ENABLE_CQL and PEGASUS_DISABLE_CQL |
|
# Set to enable CQL processor in indication subscriptions and query execution |
|
# PEGASUS_DISABLE_CQL (PEP 193) has been depracated. New use model is: |
|
# |
|
# Use PEGASUS_ENABLE_CQL=true to enable compilation of CQL functions. |
# | # |
# PEP 193 |
# Use PEGASUS_ENABLE_CQL=false to disable compilation of CQL functions. |
# The following flag need to be set to disable |
|
# CQL in indication subscriptions |
|
# | # |
|
# Default is PEGASUS_ENABLE_CQL=true if not defined external to config.mak |
|
# |
|
|
ifdef PEGASUS_DISABLE_CQL | ifdef PEGASUS_DISABLE_CQL |
DEFINES += -DPEGASUS_DISABLE_CQL |
$(error PEGASUS_DISABLE_CQL has been deprecated. Please use PEGASUS_ENABLE_CQL=[true/false]) |
|
endif |
|
|
|
ifndef PEGASUS_ENABLE_CQL |
|
# Default is true. CQL is enabled normally on all platforms unless specifically defined |
|
PEGASUS_ENABLE_CQL=true |
endif | endif |
| |
|
ifeq ($(PEGASUS_ENABLE_CQL),true) |
|
DEFINES += -DPEGASUS_ENABLE_CQL |
|
else |
|
ifneq ($(PEGASUS_ENABLE_CQL),false) |
|
$(error PEGASUS_ENABLE_CQL ($(PEGASUS_ENABLE_CQL)) invalid, must be true or false) |
|
endif |
|
endif |
|
|
|
############################################################################ |
# | # |
|
# PEGASUS_OVERRIDE_PRODUCT_ID |
# PEP 186 | # PEP 186 |
# Allow override of product name/version/status. A file | # Allow override of product name/version/status. A file |
# pegasus/src/Pegasus/Common/ProductVersion.h must exist when this | # pegasus/src/Pegasus/Common/ProductVersion.h must exist when this |
|
|
PEGASUS_TEST_IPV6 = $(PEGASUS_ENABLE_IPV6) | PEGASUS_TEST_IPV6 = $(PEGASUS_ENABLE_IPV6) |
endif | endif |
| |
|
# |
|
# PEP 322 |
|
# Allow tracking generated indications data to be disabled. It is enabled |
|
# by default. |
|
# |
|
|
|
ifndef PEGASUS_ENABLE_INDICATION_COUNT |
|
PEGASUS_ENABLE_INDICATION_COUNT = true |
|
endif |
|
|
|
ifdef PEGASUS_ENABLE_INDICATION_COUNT |
|
ifeq ($(PEGASUS_ENABLE_INDICATION_COUNT),true) |
|
DEFINES += -DPEGASUS_ENABLE_INDICATION_COUNT |
|
else |
|
ifneq ($(PEGASUS_ENABLE_INDICATION_COUNT),false) |
|
$(error PEGASUS_ENABLE_INDICATION_COUNT \ |
|
($(PEGASUS_ENABLE_INDICATION_COUNT)) invalid, must be true or false) |
|
endif |
|
endif |
|
endif |
|
|
############################################################################ | ############################################################################ |
# | # |
# PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP | # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP |
|
|
# | # |
| |
ifdef PEGASUS_USE_OPENSLP | ifdef PEGASUS_USE_OPENSLP |
|
ifeq ($(PEGASUS_USE_OPENSLP),true) |
ifeq ($(PEGASUS_ENABLE_SLP),true) | ifeq ($(PEGASUS_ENABLE_SLP),true) |
DEFINES += -DPEGASUS_USE_OPENSLP | DEFINES += -DPEGASUS_USE_OPENSLP |
else | else |
$(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency) | $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. Please correct this inconsistency) |
endif | endif |
|
else |
|
ifneq ($(PEGASUS_USE_OPENSLP), false) |
|
$(error PEGASUS_USE_OPENSLP \ |
|
($(PEGASUS_USE_OPENSLP)) \ |
|
invalid, must be true or false) |
|
endif |
|
endif |
endif | endif |
| |
# PEP 267 | # PEP 267 |
|
|
endif | endif |
endif | endif |
| |
|
# |
|
## PEP 323, DMTF Indications Profile support, stage 1 |
|
# |
|
ifdef PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT |
|
ifeq ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT), true) |
|
ifndef PEGASUS_ENABLE_INTEROP_PROVIDER |
|
PEGASUS_ENABLE_INTEROP_PROVIDER = true |
|
else |
|
ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false) |
|
$(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true if DMTF Indications profile support is enabled) |
|
endif |
|
endif |
|
DEFINES += -DPEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT |
|
else |
|
ifneq ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT),false) |
|
$(error PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT ($(PEGASUS_ENABLE_DMTF_INDICATION_PROFILE_SUPPORT)) invalid, must be true or false) |
|
endif |
|
endif |
|
endif |
| |
############################################################################ | ############################################################################ |
# set PEGASUS_DEBUG into the DEFINES if it exists. | # set PEGASUS_DEBUG into the DEFINES if it exists. |
|
|
DEFINES += -DPEGASUS_CIMSERVERMAIN_USER=\"$(PEGASUS_CIMSERVERMAIN_USER)\" | DEFINES += -DPEGASUS_CIMSERVERMAIN_USER=\"$(PEGASUS_CIMSERVERMAIN_USER)\" |
endif | endif |
| |
|
|
|
##============================================================================== |
|
## |
|
## PEGASUS_ENABLE_PROTOCOL_WSMAN |
|
## |
|
## Enables the WS-Management protocol in the CIM Server. |
|
## |
|
##============================================================================== |
|
|
|
ifndef PEGASUS_ENABLE_PROTOCOL_WSMAN |
|
PEGASUS_ENABLE_PROTOCOL_WSMAN = false |
|
endif |
|
|
|
ifeq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),true) |
|
DEFINES += -DPEGASUS_ENABLE_PROTOCOL_WSMAN |
|
else |
|
ifneq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),false) |
|
$(error PEGASUS_ENABLE_PROTOCOL_WSMAN ($(PEGASUS_ENABLE_PROTOCOL_WSMAN)) invalid, must be true or false) |
|
endif |
|
endif |
|
|
|
##============================================================================== |
|
## |
|
## PEGASUS_PAM_AUTHENTICATION |
|
## |
|
##============================================================================== |
|
|
|
ifdef PEGASUS_PAM_AUTHENTICATION |
|
# Compile in the code required for PAM authentication |
|
# and compile out the code that uses the password file. |
|
DEFINES += -DPEGASUS_PAM_AUTHENTICATION -DPEGASUS_NO_PASSWORDFILE |
|
|
|
# Link with libpam only where it is needed. |
|
ifeq ($(HAS_PAM_DEPENDENCY),true) |
|
SYS_LIBS += -lpam |
|
endif |
|
endif |
|
|
##============================================================================== | ##============================================================================== |
## | ## |
## PEGASUS_USE_PAM_STANDALONE_PROC | ## PEGASUS_USE_PAM_STANDALONE_PROC |
|
|
PEGASUS_JAVA_JAR = jar | PEGASUS_JAVA_JAR = jar |
PEGASUS_JAVA_INTERPRETER = java | PEGASUS_JAVA_INTERPRETER = java |
endif | endif |
|
|
|
# Disable client timeouts when we're doing a valgrind build |
|
ifdef PEGASUS_TEST_VALGRIND_LOG_DIR |
|
DEFINES += -DPEGASUS_DISABLE_CLIENT_TIMEOUT -DPEGASUS_TEST_VALGRIND |
|
endif |
|
|
|
## ====================================================================== |
|
## |
|
## PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE |
|
## This controls allowing the path specified in the Location property of |
|
## PG_ProviderModule class. |
|
## |
|
## Set to "true", It allows the absolute path specified in the Location property |
|
## of PG_ProviderModule class. Otherwise it does not allow the absolute path. |
|
## see bug 7289 for background information concerning this config variable. |
|
## |
|
|
|
ifndef PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE |
|
PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE=false |
|
endif |
|
|
|
ifdef PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE |
|
ifeq ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE),true) |
|
DEFINES += -DPEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE |
|
else |
|
ifneq ($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE),false) |
|
$(error PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE \ |
|
($(PEGASUS_ALLOW_ABSOLUTEPATH_IN_PROVIDERMODULE)) \ |
|
invalid, must be true or false) |
|
endif |
|
endif |
|
endif |
|
|