version 1.35, 2005/05/12 15:27:28
|
version 1.50, 2006/07/11 18:39:27
|
|
|
#//%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 |
|
|
DEFINES += -DPEGASUS_PLATFORM_LINUX_GENERIC_GNU | DEFINES += -DPEGASUS_PLATFORM_LINUX_GENERIC_GNU |
DEFINES += -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) | DEFINES += -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) |
| |
|
######################################################################### |
|
## |
|
## Platform specific compile options controlled by environment variables |
|
## are set here. |
|
## |
|
######################################################################### |
|
|
|
|
|
# Enable OOP by default if preference not already set in the environment |
|
# |
|
ifndef PEGASUS_DEFAULT_ENABLE_OOP |
|
PEGASUS_DEFAULT_ENABLE_OOP = true |
|
endif |
|
|
|
|
# Enable CMPI by default. | # Enable CMPI by default. |
# | # |
PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=yes |
ifndef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER |
|
PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true |
|
endif |
|
|
|
######################################################################### |
| |
OS = linux | OS = linux |
| |
|
|
| |
DEFINES += -DPEGASUS_HAS_SIGNALS | DEFINES += -DPEGASUS_HAS_SIGNALS |
| |
SYS_LIBS = -ldl -lpthread |
SYS_LIBS = -ldl -lpthread -lcrypt |
|
|
# Build using fixed release settings |
|
# |
|
ifdef PEGASUS_USE_RELEASE_DIRS |
|
PEGASUS_DEST_LIB_DIR=/opt/tog-pegasus/lib |
|
endif |
|
| |
# PAM support | # PAM support |
ifdef PEGASUS_PAM_AUTHENTICATION | ifdef PEGASUS_PAM_AUTHENTICATION |
|
|
| |
endif | endif |
| |
|
FLAGS += -W -Wall -Wno-unused -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT |
| |
ifdef PEGASUS_DEBUG |
##============================================================================== |
FLAGS += -g -fPIC -W -Wall -Wno-unused -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT |
## |
|
## The DYNAMIC_FLAGS variable defines linker flags that only apply to shared |
|
## libraries. |
|
## |
|
##============================================================================== |
|
DYNAMIC_FLAGS += -fPIC |
|
|
|
ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS |
|
FLAGS += -g |
else | else |
FLAGS += -fPIC -W -Wall -Wno-unused -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT -s -fno-enforce-eh-specs |
FLAGS += -s |
|
# |
|
# The -fno-enforce-eh-specs is not available in 2.9.5 and it probably |
|
# appeared in the 3.0 series of compilers. |
|
# |
|
ifeq ($(shell expr $(GCC_VERSION) '>=' 3.0), 1) |
|
EXTRA_CXX_FLAGS += -fno-enforce-eh-specs |
|
endif |
ifdef PEGASUS_OPTIMIZE_FOR_SIZE | ifdef PEGASUS_OPTIMIZE_FOR_SIZE |
FLAGS += -Os | FLAGS += -Os |
else | else |
|
|
endif | endif |
endif | endif |
| |
|
FLAGS += $(CXX_MACHINE_OPTIONS) |
|
|
|
ifdef PEGASUS_ENABLE_GCOV |
|
FLAGS += -ftest-coverage -fprofile-arcs |
|
SYS_LIBS += -lgcc -lgcov |
|
EXTRA_LIBRARIES += -lgcc -lgcov |
|
endif |
|
|
ifndef PEGASUS_USE_MU_DEPEND | ifndef PEGASUS_USE_MU_DEPEND |
PEGASUS_HAS_MAKEDEPEND = yes | PEGASUS_HAS_MAKEDEPEND = yes |
endif | endif |
|
|
FLAGS += -DPEGASUS_OS_LSB | FLAGS += -DPEGASUS_OS_LSB |
endif | endif |
| |
|
##============================================================================== |
|
## |
|
## Set the default visibility symbol to hidden for shared libraries. This |
|
## feature is only available in GCC 4.0 and later. |
|
## |
|
##============================================================================== |
|
|
|
ifeq ($(shell expr $(GCC_VERSION) '>=' 4.0), 1) |
|
FLAGS += -fvisibility=hidden |
|
endif |
|
|
|
ifndef PEGASUS_ARCH_LIB |
|
ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_GNU) |
|
PEGASUS_ARCH_LIB = lib64 |
|
else |
|
PEGASUS_ARCH_LIB = lib |
|
endif |
|
endif |
|
DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\" |
|
|
|
##============================================================================== |
|
## |
|
## If AR note defined, use "ar". |
|
## |
|
##============================================================================== |
|
|
|
ifndef AR |
|
AR=ar |
|
endif |