version 1.2, 2001/01/29 07:03:47
|
version 1.52, 2004/06/29 20:38:12
|
|
|
## | ## |
################################################################################ | ################################################################################ |
| |
ifdef PEGASUS_OS_TYPE |
|
OS_TYPE = $(PEGASUS_OS_TYPE) |
|
else |
|
OS_TYPE = windows |
|
endif |
|
|
|
ifdef PEGASUS_HOME | ifdef PEGASUS_HOME |
HOME_DIR = $(subst \,/,$(PEGASUS_HOME)) | HOME_DIR = $(subst \,/,$(PEGASUS_HOME)) |
else | else |
|
|
@ exit 1 | @ exit 1 |
endif | endif |
| |
ifdef PEGASUS_ACE_ROOT |
ifdef PEGASUS_ROOT |
ACE_ROOT = $(subst \,/,$(PEGASUS_ACE_ROOT)) |
ROOT = $(subst \,/,$(PEGASUS_ROOT)) |
else | else |
ERROR = pegasus_ace_root_undefined |
ERROR = pegasus_root_undefined |
pegasus_ace_root_undefined: |
pegasus_root_undefined: |
@ echo PEGASUS_ACE_ROOT environment variable undefined |
@ echo PEGASUS_ROOT environment variable undefined |
@ exit 1 | @ exit 1 |
endif | endif |
| |
|
# l10n |
|
ifdef ICU_ROOT |
|
ICUROOT = $(subst \,/,$(ICU_ROOT)) |
|
endif |
|
|
|
ifdef PEGASUS_TMP |
|
TMP_DIR = $(subst \,/,$(PEGASUS_TMP)) |
|
else |
|
TMP_DIR = . |
|
endif |
|
|
|
ifdef PEGASUS_DISPLAYCONSUMER_DIR |
|
DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_DISPLAYCONSUMER_DIR)) |
|
else |
|
DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_HOME)) |
|
endif |
|
|
|
VALID_PLATFORMS = \ |
|
WIN32_IX86_MSVC \ |
|
LINUX_IX86_GNU \ |
|
LINUX_PPC_GNU \ |
|
LINUX_IA64_GNU \ |
|
LINUX_ZSERIES_GNU \ |
|
AIX_RS_IBMCXX \ |
|
HPUX_PARISC_ACC \ |
|
HPUX_IA64_ACC \ |
|
TRU64_ALPHA_DECCXX \ |
|
SOLARIS_SPARC_GNU \ |
|
SOLARIS_SPARC_CC \ |
|
ZOS_ZSERIES_IBM \ |
|
NSK_NONSTOP_NMCPLUS \ |
|
DARWIN_PPC_GNU |
|
|
|
ifndef PEGASUS_PLATFORM |
|
ERROR = pegasus_platform_undefined |
|
pegasus_platform_undefined: |
|
@ echo PEGASUS_PLATFORM environment variable undefined. Please set to\ |
|
one of the following: $(VALID_PLATFORMS) |
|
@ exit 1 |
|
endif |
| |
################################################################################ | ################################################################################ |
| |
OBJ_DIR = $(HOME_DIR)/obj/$(DIR) | OBJ_DIR = $(HOME_DIR)/obj/$(DIR) |
BIN_DIR = $(HOME_DIR)/bin | BIN_DIR = $(HOME_DIR)/bin |
LIB_DIR = $(HOME_DIR)/lib | LIB_DIR = $(HOME_DIR)/lib |
REPOSITORY_ROOT = $(HOME_DIR) |
|
| |
ifeq ($(OS_TYPE),windows) |
# l10n |
include $(ROOT)/mak/config-windows.mak |
# define the location for the compiled messages |
|
MSG_ROOT = $(HOME_DIR)/msg |
|
|
|
# define the location for the repository |
|
REPOSITORY_DIR = $(HOME_DIR) |
|
REPOSITORY_ROOT = $(REPOSITORY_DIR)/repository |
|
|
|
# The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER, |
|
# are used to control the version of the CIM Schema |
|
# loaded into the Pegasus Internal, InterOp, |
|
# root/cimv2 and various test namespaces. |
|
# |
|
# Update the following two environment variables to |
|
# change the version. |
|
|
|
# The environment variable PEGASUS_CIM_SCHEMA can be used |
|
# to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER |
|
# and ALLOW_EXPERIMENTAL. |
|
# |
|
# To use the PEGASUS_CIM_SCHEMA variable the Schema mof |
|
# files must be placed in the directory |
|
# $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) |
|
# |
|
# The value of PEGASUS_CIM_SCHEMA must conform to the |
|
# following syntax: |
|
# |
|
# CIM[Prelim]<CIM_SCHEMA_VER> |
|
# |
|
# The string "Prelim" should be included if the |
|
# Schema contains "Experimental" class definitions. |
|
# |
|
# The value of <CIM_SCHEMA_VER> must be the value |
|
# of the version string included by the DMTF as |
|
# part of the mof file names (e.g, CIM_Core27.mof). |
|
# Therefore, for example, the value of <CIM_SCHEMA_VER> |
|
# for CIM27 Schema directories MUST be 27. |
|
# |
|
# Examples of valid values of PEGASUS_CIM_SCHEMA |
|
# include CIMPrelim27, CIM27, CIMPrelim28, and CIM28. |
|
# |
|
# Note the CIMPrelim271 would NOT be a valid value |
|
# for PEGASUS_CIM_SCHEMA because the version string |
|
# portion of the mof files (e.g., CIM_Core27.mof) in |
|
# the CIMPrelimin271 directory is 27 not 271. |
|
|
|
# ***** CIM_SCHEMA_DIR INFO **** |
|
# If CIM_SCHEMA_DIR changes to use a preliminary schema which |
|
# has experimentals make sure and change the path below to appopriate |
|
# directory path. Example: CIMPrelim271 is preliminary and has |
|
# experimental classes. Since experimental classes exist the -aE |
|
# option of the mof compiler needs to be set. |
|
# ***** |
|
|
|
ifdef PEGASUS_CIM_SCHEMA |
|
CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA) |
|
CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA))) |
|
else |
|
CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM28 |
|
CIM_SCHEMA_VER=28 |
|
endif |
|
|
|
ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR))) |
|
ALLOW_EXPERIMENTAL = -aE |
else | else |
include $(ROOT)/mak/config-unix.mak |
ALLOW_EXPERIMENTAL = |
|
endif |
|
|
|
LEX = flex |
|
|
|
################################################################################ |
|
## |
|
## Default installation paths |
|
## |
|
################################################################################ |
|
|
|
## Default values to install files when 'make install' is invoked. |
|
|
|
ifndef PREFIX |
|
PREFIX=$(HOME_DIR)/install |
|
endif |
|
|
|
ifndef SYSCONF_PREFIX |
|
SYSCONF_PREFIX=$(PREFIX)/etc |
|
endif |
|
|
|
ifndef LOCAL_STATE_PREFIX |
|
LOCAL_STATE_PREFIX=$(PREFIX)/var |
|
endif |
|
|
|
ifndef DEST_LIB_DIR |
|
DEST_LIB_DIR = $(PREFIX)/lib |
|
endif |
|
|
|
ifndef DEST_BIN_DIR |
|
DEST_BIN_DIR = $(PREFIX)/bin |
|
endif |
|
|
|
ifndef DEST_SBIN_DIR |
|
DEST_SBIN_DIR = $(PREFIX)/sbin |
|
endif |
|
|
|
ifndef DEST_ETC_DIR |
|
DEST_ETC_DIR = $(SYSCONF_PREFIX) |
|
endif |
|
|
|
ifndef DEST_MAN_DIR |
|
DEST_MAN_DIR = $(PREFIX)/man |
|
endif |
|
|
|
ifndef DEST_VAR_DIR |
|
DEST_VAR_DIR = $(LOCAL_STATE_PREFIX) |
|
endif |
|
|
|
################################################################################ |
|
## |
|
## Attempt to include a platform configuration file: |
|
## |
|
################################################################################ |
|
|
|
ifeq ($(PEGASUS_PLATFORM),WIN32_IX86_MSVC) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),LINUX_IX86_GNU) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),LINUX_PPC_GNU) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),LINUX_IA64_GNU) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),LINUX_ZSERIES_GNU) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),HPUX_PARISC_ACC) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),HPUX_IA64_ACC) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),TRU64_ALPHA_DECCXX) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_GNU) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
endif | endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),NSK_NONSTOP_NMCPLUS) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifeq ($(PEGASUS_PLATFORM),DARWIN_PPC_GNU) |
|
include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak |
|
FOUND = true |
|
endif |
|
|
|
ifneq ($(FOUND),true) |
|
ERROR = pegasus_unknown_platform |
|
pegasus_unknown_platform: |
|
@ echo PEGASUS_PLATFORM environment variable must be set to one of\ |
|
the following: $(VALID_PLATFORMS) |
|
@ exit 1 |
|
endif |
|
|
|
################################################################################ |
|
## |
|
## Default installation macros |
|
## |
|
################################################################################ |
|
|
|
## INSTALL_LIB creates the destination directory if missing, |
|
## copies the library and generates the symbolic link. |
|
|
|
ifndef INSTALL_LIBRARY |
|
## These macros are also defined in the Platform_<*>.mak files. |
|
INSTALL_LIBRARY = $(MKDIRHIER) $(DEST_LIB_DIR); $(COPY) $(FULL_LIB) $(DEST_LIB_DIR) |
|
endif |
|
|
|
## INSTALL_PROGRAM creates the destination directory if missing and |
|
## copies the file. |
|
ifndef INSTALL_PROGRAM |
|
INSTALL_PROGRAM = $(MKDIRHIER) $(DEST_BIN_DIR); $(COPY) $(FULL_PROGRAM) $(DEST_BIN_DIR) |
|
endif |
|
## INSTALL_PROGRAM creates the destination directory if missing and |
|
## copies the file. |
|
ifndef INSTALL_SBIN_PROGRAM |
|
INSTALL_SBIN_PROGRAM = $(MKDIRHIER) $(DEST_SBIN_DIR); $(COPY) $(FULL_PROGRAM) $(DEST_SBIN_DIR) |
|
endif |
|
## The rest of the macros for DEST_MAN_DIR, DEST_VAR_DIR, etc. are not provided in this file. |
|
|
|
################################################################################ |
|
## |
|
## Set up any platform independent compile conditionals by adding them to |
|
## precreated FLAGS parameter. |
|
## Assumes that the basic flags have been setup in FLAGS. |
|
## Assumes that compile time flags are controlled with -D CLI option. |
|
## |
|
################################################################################ |
|
|
|
# Setup the conditional compile for client displays. |
|
# |
|
ifdef PEGASUS_CLIENT_TRACE_ENABLE |
|
DEFINES+= -DPEGASUS_CLIENT_TRACE_ENABLE |
|
endif |
|
|
|
# do not compile trace code. sometimes it causes problems debugging |
|
ifdef PEGASUS_REMOVE_TRACE |
|
DEFINES+= -DPEGASUS_REMOVE_TRACE |
|
endif |
|
|
|
# PEP 123 use monitor2 (the default) or not |
|
#ifdef PEGASUS_USE_23HTTPMONITOR_SERVER |
|
DEFINES+= -DPEGASUS_USE_23HTTPMONITOR_SERVER |
|
#endif |
|
|
|
#BUG 1170 Monitor2 Client Workaround |
|
#ifdef PEGASUS_USE_23HTTPMONITOR_CLIENT |
|
DEFINES+= -DPEGASUS_USE_23HTTPMONITOR_CLIENT |
|
#endif |
|
|
|
# PEP 161 |
|
# Control whether utf-8 filenames are supported by the repository |
|
ifdef PEGASUS_SUPPORT_UTF8_FILENAME |
|
DEFINES+= -DPEGASUS_SUPPORT_UTF8_FILENAME |
|
|
|
# Control whether utf-8 filenames in the repository are escaped |
|
ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8 |
|
DEFINES+= -DPEGASUS_REPOSITORY_ESCAPE_UTF8 |
|
endif |
|
endif |
|
|
|
# |
|
# PEP 142 |
|
# The following flag need to be set to enable |
|
# user group authorization functionality. |
|
# |
|
ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION |
|
DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION |
|
endif |
|
|
|
|
|
# setup function to enable SLP functions in the Pegasus standard compile |
|
# Set the environment varaible PEGASUS_ENABLE_SLP to enable SLP code. |
|
ifdef PEGASUS_ENABLE_SLP |
|
DEFINES+= -DPEGASUS_ENABLE_SLP |
|
endif |
|
|
|
# compile in the experimental APIs |
|
DEFINES+= -DPEGASUS_USE_EXPERIMENTAL_INTERFACES |
|
|
|
|
|
############################################################ |
|
# |
|
# Set up other Make Variables that depend on platform config files |
|
# |
|
############################################################ |
|
|
|
# This is temporary until we end up with a better place to |
|
# put this variable |
|
# Makefiles can do directory remove with |
|
# $(RMREPOSITORY) repositoryname |
|
# |
|
RMREPOSITORY = $(RMDIRHIER) |
|
|
|
|
|
|
|
|