version 1.171.4.1, 2008/09/29 17:41:53
|
version 1.191, 2010/07/09 11:24:50
|
|
|
#//%2006//////////////////////////////////////////////////////////////////////// |
#//%LICENSE//////////////////////////////////////////////////////////////// |
#// | #// |
#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
#// Licensed to The Open Group (TOG) under one or more contributor license |
#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with |
#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; |
#// this work for additional information regarding copyright ownership. |
#// IBM Corp.; EMC Corporation, The Open Group. |
#// Each contributor licenses this file to you under the OpenPegasus Open |
#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; |
#// Source License; you may not use this file except in compliance with the |
#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
#// License. |
#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
#// 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 |
#// of this software and associated documentation files (the "Software"), to |
#// copy of this software and associated documentation files (the "Software"), |
#// deal in the Software without restriction, including without limitation the |
#// to deal in the Software without restriction, including without limitation |
#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
#// the rights to use, copy, modify, merge, publish, distribute, sublicense, |
#// sell copies of the Software, and to permit persons to whom the Software is |
#// and/or sell copies of the Software, and to permit persons to whom the |
#// furnished to do so, subject to the following conditions: |
#// Software is furnished to do so, subject to the following conditions: |
#// | #// |
#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN |
#// The above copyright notice and this permission notice shall be included |
#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED |
#// in all copies or substantial portions of the Software. |
#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT |
|
#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR |
|
#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
|
#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|
#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
#// | #// |
#//============================================================================== |
#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
|
#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|
#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
|
#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
|
#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
|
#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
|
#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
#// |
|
#////////////////////////////////////////////////////////////////////////// |
################################################################################ | ################################################################################ |
## | ## |
## Get external environment variables. Note that all external environment | ## Get external environment variables. Note that all external environment |
|
|
# ***** | # ***** |
| |
ifndef PEGASUS_CIM_SCHEMA | ifndef PEGASUS_CIM_SCHEMA |
PEGASUS_CIM_SCHEMA=CIM217 |
PEGASUS_CIM_SCHEMA=CIM225 |
endif | endif |
| |
CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) | CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) |
|
|
endif | endif |
endif | endif |
| |
|
|
ifeq ($(PEGASUS_HAS_ICU),true) | ifeq ($(PEGASUS_HAS_ICU),true) |
DEFINES += -DPEGASUS_HAS_ICU | DEFINES += -DPEGASUS_HAS_ICU |
| |
|
|
else | else |
ifeq ($(OS),zos) | ifeq ($(OS),zos) |
EXTRA_LIBRARIES += \ | EXTRA_LIBRARIES += \ |
$(ICU_INSTALL)/lib/libicui18n.x \ |
$(ICU_INSTALL)/lib/libicui18n$(DYNLIB_SUFFIX) \ |
$(ICU_INSTALL)/lib/libicuuc.x |
$(ICU_INSTALL)/lib/libicuuc$(DYNLIB_SUFFIX) |
else | else |
EXTRA_LIBRARIES += -licuuc -licui18n | EXTRA_LIBRARIES += -licuuc -licui18n |
ifeq ($(OS),linux) | ifeq ($(OS),linux) |
|
|
endif | endif |
endif | endif |
| |
|
# Control whether the class definitions in the repository contain elements |
|
# propagated from superclass definitions. |
|
|
|
ifndef PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES |
|
PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES = false |
|
endif |
|
|
|
ifeq ($(PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES),true) |
|
DEFINES += -DPEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES |
|
else |
|
ifneq ($(PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES),false) |
|
$(error PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES ($(PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES)) invalid, must be true or false) |
|
endif |
|
endif |
|
|
|
# SQLite repository support |
|
|
|
ifndef PEGASUS_USE_SQLITE_REPOSITORY |
|
PEGASUS_USE_SQLITE_REPOSITORY = false |
|
endif |
|
|
|
ifeq ($(PEGASUS_USE_SQLITE_REPOSITORY),true) |
|
ifeq ($(PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES),true) |
|
$(error PEGASUS_REPOSITORY_STORE_COMPLETE_CLASSES may not be set to true when PEGASUS_USE_SQLITE_REPOSITORY is true) |
|
endif |
|
DEFINES += -DPEGASUS_USE_SQLITE_REPOSITORY |
|
else |
|
ifneq ($(PEGASUS_USE_SQLITE_REPOSITORY),false) |
|
$(error PEGASUS_USE_SQLITE_REPOSITORY ($(PEGASUS_USE_SQLITE_REPOSITORY)) invalid, must be true or false) |
|
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. |
|
# Note: These options only apply to the file-based repository, not SQLite. |
ifdef PEGASUS_SUPPORT_UTF8_FILENAME | ifdef PEGASUS_SUPPORT_UTF8_FILENAME |
DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME | DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME |
| |
|
|
DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION | DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION |
endif | endif |
| |
# PEP 233 |
|
# Controls support for EmbeddedInstance properties |
|
# and parameters |
|
ifndef PEGASUS_EMBEDDED_INSTANCE_SUPPORT |
|
PEGASUS_EMBEDDED_INSTANCE_SUPPORT = true |
|
endif |
|
|
|
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 |
|
|
|
|
|
# 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 |
|
|
############################################################################ | ############################################################################ |
# | # |
# PEGASUS_USE_OPENSLP | # PEGASUS_USE_OPENSLP |
|
|
## NOTE: This variable has been deprecated and superceeded by the use of | ## NOTE: This variable has been deprecated and superceeded by the use of |
## PEGASUS_USE_EXTERNAL_SLP. The use of this variable may be | ## PEGASUS_USE_EXTERNAL_SLP. The use of this variable may be |
## removed from Pegasus in future releases. It is converted to the | ## removed from Pegasus in future releases. It is converted to the |
|
|
## as defined for openslp | ## as defined for openslp |
ifeq ($(PEGASUS_USE_OPENSLP),true) | ifeq ($(PEGASUS_USE_OPENSLP),true) |
ifeq ($(PEGASUS_ENABLE_SLP),true) | ifeq ($(PEGASUS_ENABLE_SLP),true) |
PEGASUS_USE_EXTERNAL_SLP=openslp |
export PEGASUS_USE_EXTERNAL_SLP=openslp |
PEGASUS_USE_OPENSLP= | PEGASUS_USE_OPENSLP= |
else | else |
$(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. \ | $(error PEGASUS_USE_OPENSLP defined but PEGASUS_ENABLE_SLP is not true. \ |
|
|
$(error Both PEGASUS_OPENSLP_HOME and PEGASUS_OPEN_EXTERNAL_SLP_HOME defined. \ | $(error Both PEGASUS_OPENSLP_HOME and PEGASUS_OPEN_EXTERNAL_SLP_HOME defined. \ |
Please use PEGASUS_OPEN_EXTERNAL_SLP_HOME) | Please use PEGASUS_OPEN_EXTERNAL_SLP_HOME) |
else | else |
PEGASUS_EXTERNAL_SLP_HOME=$(PEGASUS_OPENSLP_HOME) |
export PEGASUS_EXTERNAL_SLP_HOME=$(PEGASUS_OPENSLP_HOME) |
endif | endif |
endif | endif |
############################################################################ | ############################################################################ |
|
|
endif | endif |
endif | endif |
| |
ifdef PEGASUS_ENABLE_INTEROP_PROVIDER |
|
ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true) |
|
DEFINES += -DPEGASUS_ENABLE_INTEROP_PROVIDER |
|
else |
|
ifneq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false) |
|
$(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) invalid, must be true or false) |
|
endif |
|
endif |
|
endif |
|
|
|
# | # |
## PEP 323, DMTF Indications Profile support, stage 1 | ## PEP 323, DMTF Indications Profile support, stage 1 |
# | # |
|
|
endif | endif |
endif | endif |
| |
|
ifdef PEGASUS_ENABLE_INTEROP_PROVIDER |
|
ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true) |
|
DEFINES += -DPEGASUS_ENABLE_INTEROP_PROVIDER |
|
else |
|
ifneq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),false) |
|
$(error PEGASUS_ENABLE_INTEROP_PROVIDER ($(PEGASUS_ENABLE_INTEROP_PROVIDER)) 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. |
# Note that this flag is the general separator between | # Note that this flag is the general separator between |
|
|
ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER | ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER |
ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true) | ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true) |
DEFINES += -DPEGASUS_ENABLE_JMPI_PROVIDER_MANAGER | DEFINES += -DPEGASUS_ENABLE_JMPI_PROVIDER_MANAGER |
|
ifndef PEGASUS_JAVA_CLASSPATH_DELIMITER |
|
PEGASUS_JAVA_CLASSPATH_DELIMITER = : |
|
endif |
|
|
|
ifndef PEGASUS_JVM |
|
PEGASUS_JVM = sun |
|
endif |
|
ifeq ($(PEGASUS_JVM),gcj) |
|
PEGASUS_JAVA_COMPILER = gcj -C |
|
PEGASUS_JAVA_JAR = fastjar |
|
PEGASUS_JAVA_INTERPRETER = gij |
|
else |
|
PEGASUS_JAVA_COMPILER = javac -target 1.4 -source 1.4 |
|
PEGASUS_JAVA_JAR = jar |
|
PEGASUS_JAVA_INTERPRETER = java |
|
endif |
|
|
else | else |
ifneq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), false) | ifneq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), false) |
$(error PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER \ | $(error PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER \ |
|
|
# | # |
RMREPOSITORY = $(RMDIRHIER) | RMREPOSITORY = $(RMDIRHIER) |
| |
ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS |
ifndef PEGASUS_USE_RELEASE_CONFIG_OPTIONS |
|
PEGASUS_USE_RELEASE_CONFIG_OPTIONS=false |
|
endif |
|
|
|
ifeq ($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS),true) |
DEFINES += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS | DEFINES += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS |
|
else |
|
ifneq ($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS),false) |
|
$(error PEGASUS_USE_RELEASE_CONFIG_OPTIONS \ |
|
($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS)) invalid, must be true or false) |
|
endif |
endif | endif |
| |
ifdef PEGASUS_USE_RELEASE_DIRS | ifdef PEGASUS_USE_RELEASE_DIRS |
|
|
##============================================================================== | ##============================================================================== |
| |
ifdef PEGASUS_USE_STATIC_LIBRARIES | ifdef PEGASUS_USE_STATIC_LIBRARIES |
ifeq ($(PEGASUS_USE_STATIC_LIBRARIES),true) |
ifeq ($(OS_TYPE),windows) |
|
$(error PEGASUS_USE_STATIC_LIBRARIES is not support on windows.) |
else | else |
ifneq ($(PEGASUS_USE_STATIC_LIBRARIES),false) |
ifneq ($(PEGASUS_USE_STATIC_LIBRARIES),true) |
$(error PEGASUS_USE_STATIC_LIBRARIES ($(PEGASUS_USE_STATIC_LIBRARIES)) invalid, must be true or false) |
$(error PEGASUS_USE_STATIC_LIBRARIES \ |
|
($(PEGASUS_USE_STATIC_LIBRARIES)) invalid, must be true.) |
endif | endif |
endif | endif |
endif | endif |
|
|
| |
##============================================================================== | ##============================================================================== |
| |
ifndef PEGASUS_JAVA_CLASSPATH_DELIMITER |
|
PEGASUS_JAVA_CLASSPATH_DELIMITER = : |
|
endif |
|
|
|
ifndef PEGASUS_JVM |
|
PEGASUS_JVM = sun |
|
endif |
|
ifeq ($(PEGASUS_JVM),gcj) |
|
PEGASUS_JAVA_COMPILER = gcj -C |
|
PEGASUS_JAVA_JAR = fastjar |
|
PEGASUS_JAVA_INTERPRETER = gij |
|
else |
|
PEGASUS_JAVA_COMPILER = javac -target 1.4 -source 1.4 |
|
PEGASUS_JAVA_JAR = jar |
|
PEGASUS_JAVA_INTERPRETER = java |
|
endif |
|
|
|
# Disable client timeouts when we're doing a valgrind build | # Disable client timeouts when we're doing a valgrind build |
ifdef PEGASUS_TEST_VALGRIND_LOG_DIR | ifdef PEGASUS_TEST_VALGRIND_LOG_DIR |
DEFINES += -DPEGASUS_DISABLE_CLIENT_TIMEOUT -DPEGASUS_TEST_VALGRIND | DEFINES += -DPEGASUS_DISABLE_CLIENT_TIMEOUT -DPEGASUS_TEST_VALGRIND |
|
|
endif | endif |
endif | endif |
| |
|
##============================================================================== |
|
## |
|
## PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY |
|
## |
|
## Enable binary protocol between cimserver and out-of-process providers. |
|
## By default this feature is enabled. |
|
## |
|
##============================================================================== |
|
|
|
ifndef PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY |
|
PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY=true |
|
endif |
|
|
|
ifeq ($(PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY),true) |
|
DEFINES += -DPEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY |
|
else |
|
ifneq ($(PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY),false) |
|
$(error "PEGASUS_ENABLE_PROTOCOL_INTERNAL_BINARY must be true or false") |
|
endif |
|
endif |
|
|
|
##============================================================================== |
|
## |
|
## PEGASUS_ENABLE_PROTOCOL_BINARY |
|
## |
|
## Enables the binary protocol between clients and cimserver. With provider |
|
## agent, both requests and responses are binary. For "ordinary" clients, |
|
## requests are XML and responses are binary. By default, this only affects |
|
## the protocol used over local domain sockets. |
|
## |
|
##============================================================================== |
|
|
|
ifndef PEGASUS_ENABLE_PROTOCOL_BINARY |
|
PEGASUS_ENABLE_PROTOCOL_BINARY=false |
|
endif |
|
|
|
ifeq ($(PEGASUS_ENABLE_PROTOCOL_BINARY),true) |
|
DEFINES += -DPEGASUS_ENABLE_PROTOCOL_BINARY |
|
else |
|
ifneq ($(PEGASUS_ENABLE_PROTOCOL_BINARY),false) |
|
$(error "PEGASUS_ENABLE_PROTOCOL_BINARY must be true or false") |
|
endif |
|
endif |
|
|
|
## ====================================================================== |
|
## |
|
## PLATFORM_CORE_PATTERN |
|
## This variable describes the pattern used to search for core files. |
|
## If not defined, this variable will be set to core*. |
|
## Only wildcard characters supported by the make wildcard function |
|
## may be used. |
|
|
|
ifndef PLATFORM_CORE_PATTERN |
|
PLATFORM_CORE_PATTERN = core* |
|
endif |
|
|
|
ifdef PEGASUS_FLAVOR |
|
ifdef PEGASUS_USE_RELEASE_DIRS |
|
ifndef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS |
|
$(error "PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS must be defined when both PEGASUS_FLAVOR and PEGASUS_USE_RELEASE_DIRS options are used") |
|
endif |
|
endif |
|
ifneq ($(PEGASUS_FLAVOR), tog) |
|
DEFINES += -DPEGASUS_FLAVOR=\"$(PEGASUS_FLAVOR)\" |
|
endif |
|
endif |