tog-pegasus/RedHat.OpenPegasus.Makefile

552 lines
30 KiB
Makefile

# RedHat.OpenPegasus.Makefile
#
# Red Hat OpenPegasus distribution Makefile
#
# Makefile to build only the binary objects actually shipped by the
# default upstream linux build, that will work with 'make -j $ncpus' .
# Generated by a script from the installed upstream package.
#
# Jason Vas Dias <jvdias@redhat.com> Red Hat, Inc. April 2006
#
SRCNAME ?= pegasus
RPM_BUILD_DIR ?= $(shell cd ..;pwd)
RPM_ARCH ?= $(shell uname -i)
RPM_OPT_FLAGS ?= $(shell rpm -q rpm --qf '%{OPTFLAGS}')
ifndef PEGASUS_PLATFORM
ifeq ($(RPM_ARCH),ia64)
export PEGASUS_PLATFORM := LINUX_IA64_GNU
else
ifeq ($(RPM_ARCH),x86_64)
export PEGASUS_PLATFORM := LINUX_X86_64_GNU
else
ifeq ($(RPM_ARCH),ppc)
export PEGASUS_PLATFORM := LINUX_PPC_GNU
else
ifeq ($(RPM_ARCH), ppc64)
export PEGASUS_PLATFORM := LINUX_PPC64_GNU
else
ifeq ($(RPM_ARCH), s390)
export PEGASUS_PLATFORM := LINUX_ZSERIES_GNU
else
ifeq ($(RPM_ARCH), s390x)
export PEGASUS_PLATFORM := LINUX_ZSERIES64_GNU
else
export PEGASUS_PLATFORM := LINUX_IX86_GNU
endif
endif
endif
endif
endif
endif
endif
ifndef RPM_ARCH_LIB
ifeq ($(RPM_ARCH),x86_64)
export RPM_ARCH_LIB := lib64
else
ifeq ($(RPM_ARCH),ppc64)
export RPM_ARCH_LIB := lib64
else
ifeq ($(RPM_ARCH),s390x)
export RPM_ARCH_LIB := lib64
else
export RPM_ARCH_LIB := lib
endif
endif
endif
endif
export PEGASUS_ROOT ?= $(RPM_BUILD_DIR)/$(SRCNAME)
export PEGASUS_HOME ?= $(PEGASUS_ROOT)/build
export PEGASUS_ARCH_LIB ?= $(RPM_ARCH_LIB)
export PEGASUS_ENVVAR_FILE ?= $(PEGASUS_ROOT)/env_var_Linux.status
export PEGASUS_EXTRA_C_FLAGS ?= $(RPM_OPT_FLAGS) -Wno-unused
export PEGASUS_EXTRA_CXX_FLAGS ?= $(PEGASUS_EXTRA_C_FLAGS)
export PEGASUS_EXTRA_PROGRAM_LINK_FLAGS ?= -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack
export OPENSSL_HOME ?= /usr
export OPENSSL_BIN ?= /usr/bin
export SYS_INCLUDES ?= -I/usr/kerberos/include
export LD_LIBRARY_PATH ?= $(PEGASUS_HOME)/lib
B = $(PEGASUS_HOME)
R = $(PEGASUS_ROOT)
SBINS=$(B)/bin/cimserver $(B)/bin/cimprovagt
UBINS=$(B)/bin/cimmof $(B)/bin/cimmofl $(B)/bin/cimprovider $(B)/bin/osinfo $(B)/bin/wbemexec $(B)/bin/cimauth $(B)/bin/cimconfig $(B)/bin/cimuser $(B)/bin/repupgrade
BINARIES=$(SBINS) $(UBINS)
PROVIDERS=$(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1
LIBRARIES=$(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libCIMxmlIndicationHandler.so.1 $(B)/lib/libCMPIProviderManager.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libcmpiCppImpl.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegcompiler.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegexportclient.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeglistener.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegserver.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegwql.so.1
all: setup $(BINARIES) $(LIBRARIES) $(PROVIDERS)
setup:
$(MAKE) -f Makefile.Release create_ProductVersionFile
$(MAKE) -f Makefile.Release create_CommonProductDirectoriesInclude
$(MAKE) -f Makefile.Release create_ConfigProductDirectoriesInclude
touch setup
$(B)/bin/cimserver: $(B)/lib/libpegclient.so.1 $(B)/lib/libpegserver.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegservice.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1
$(MAKE) -C $(R)/src/Server
$(B)/bin/cimprovagt: $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1 $(B)/lib/Pegasus/providers/libOSProvider.so.1 $(B)/lib/Pegasus/providers/libProcessProvider.so.1
$(MAKE) -C src/Pegasus/ProviderManager2/ProviderAgent
$(B)/bin/cimauth: $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Clients/cimauth
$(B)/bin/cimconfig: $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Clients/cimconfig
$(B)/bin/cimuser: $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Clients/cimuser
$(B)/bin/repupgrade: $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1
$(MAKE) -C $(R)/src/Clients/repupgrade
$(B)/bin/cimmof: $(B)/lib/libpegcompiler.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Compiler/cmdline/cimmof
$(B)/bin/cimmofl: $(B)/bin/cimmof
$(MAKE) -C $(R)/src/Pegasus/Compiler/cmdline/cimmofl
$(B)/bin/cimprovider: $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Clients/cimprovider
$(B)/bin/osinfo: $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Clients/osinfo
$(B)/bin/wbemexec: $(B)/lib/libpegcliutils.so.1 $(B)/lib/libpeggetoopt.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Clients/wbemexec
$(B)/lib/Pegasus/providers/libComputerSystemProvider.so.1: $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Providers/ManagedSystem/ComputerSystem
$(B)/lib/Pegasus/providers/libOSProvider.so.1: $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Providers/ManagedSystem/OperatingSystem
$(B)/lib/Pegasus/providers/libProcessProvider.so.1: $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Providers/ManagedSystem/Process
$(B)/lib/libCIMQueryCapabilitiesProvider.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/ControlProviders/QueryCapabilitiesProvider
$(B)/lib/libCIMxmlIndicationHandler.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegexportclient.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegclient.so.1
$(MAKE) -C $(R)/src/Pegasus/Handler/CIMxmlIndicationHandler
$(B)/lib/libCMPIProviderManager.so.1: $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegrepository.so.1
$(MAKE) -C $(R)/src/Pegasus/ProviderManager2/CMPI
$(B)/lib/libCertificateProvider.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/ControlProviders/CertificateProvider
$(B)/lib/libConfigSettingProvider.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/ControlProviders/ConfigSettingProvider
$(B)/lib/libDefaultProviderManager.so.1: $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegcql.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegrepository.so.1
$(MAKE) -C $(R)/src/Pegasus/ProviderManager2/Default
$(B)/lib/libNamespaceProvider.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/ControlProviders/NamespaceProvider
$(B)/lib/libProviderRegistrationProvider.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/ControlProviders/ProviderRegistrationProvider
$(B)/lib/libUserAuthProvider.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/ControlProviders/UserAuthProvider
$(B)/lib/libcmpiCppImpl.so.1:
$(MAKE) -C $(R)/src/Pegasus/Provider/CMPI
$(B)/lib/libpegauthentication.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegconfig.so.1
$(MAKE) -C $(R)/src/Pegasus/Security/Authentication
$(B)/lib/libpegclient.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Client
$(B)/lib/libpegcliutils.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Clients/cliutils
$(B)/lib/libpegcommon.so.1:
$(MAKE) -C $(R)/src/Pegasus/Common
$(B)/lib/libpegcompiler.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegconfig.so.1
$(MAKE) -C $(R)/src/Pegasus/Compiler
$(B)/lib/libpegconfig.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Config
$(B)/lib/libpegcql.so.1: $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/CQL
$(B)/lib/libpegexportclient.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1
$(MAKE) -C $(R)/src/Pegasus/ExportClient
$(B)/lib/libpegexportserver.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/ExportServer
$(B)/lib/libpeggetoopt.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/getoopt
$(B)/lib/libpeghandlerservice.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegquerycommon.so.1
$(MAKE) -C $(R)/src/Pegasus/HandlerService
$(B)/lib/libpegindicationservice.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/IndicationService
$(B)/lib/libpeglistener.so.1: $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Listener
$(B)/lib/libpegprm.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/Server/ProviderRegistrationManager
$(B)/lib/libpegprovider.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/Provider
$(B)/lib/libpegprovidermanager.so.1: $(B)/lib/libpegprm.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/ProviderManager2
$(B)/lib/libpegquerycommon.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Query/QueryCommon
$(B)/lib/libpegqueryexpression.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/Query/QueryExpression
$(B)/lib/libpegrepository.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegconfig.so.1
$(MAKE) -C $(R)/src/Pegasus/Repository
$(B)/lib/libpegserver.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegexportserver.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpeguser.so.1 $(B)/lib/libpegauthentication.so.1 $(B)/lib/libpeghandlerservice.so.1 $(B)/lib/libpegindicationservice.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libDefaultProviderManager.so.1 $(B)/lib/libConfigSettingProvider.so.1 $(B)/lib/libUserAuthProvider.so.1 $(B)/lib/libProviderRegistrationProvider.so.1 $(B)/lib/libNamespaceProvider.so.1 $(B)/lib/libCIMQueryCapabilitiesProvider.so.1 $(B)/lib/libCertificateProvider.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/Server
$(B)/lib/libpegservice.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Service
$(B)/lib/libpeguser.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegconfig.so.1
$(MAKE) -C $(R)/src/Pegasus/Security/UserManager
$(B)/lib/libpegwql.so.1: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegquerycommon.so.1
$(MAKE) -C $(R)/src/Pegasus/WQL
#
# install target :
#
#
install ?= /usr/bin/install
prefix ?=
export prefix := $(prefix:/usr=)
D := $(prefix)
sysconfdir ?= /etc
export sysconfdir := $(subst $(prefix),,$(sysconfdir))
etc := $(sysconfdir)
bindir ?= /usr/bin
export bindir := $(subst $(prefix),,$(bindir))
bin := $(bindir)
sbindir ?= /usr/sbin
export sbindir := $(subst $(prefix),,$(sbindir))
sbin := $(sbindir)
libdir ?= /usr/$(RPM_ARCH_LIB)
export libdir := $(subst $(prefix),,$(libdir))
lib := $(libdir)
datadir ?= /usr/share
export datadir := $(subst $(prefix),,$(datadir))
share := $(datadir)
includedir ?= /usr/include
export includedir := $(subst $(prefix),,$(includedir))
inc := $(includedir)
localstatedir ?= /var
export localstatedir := $(subst $(prefix),,$(localstatedir))
var := $(localstatedir)
mandir ?= /usr/share/man
export mandir := $(subst $(prefix),,$(mandir))
root_user ?= root
pegasus_user ?= pegasus
SYSDIRS = $(D) $(D)/$(etc) $(D)/$(etc)/rc.d/init.d $(D)/$(etc)/pam.d \
$(D)/$(var) $(D)/$(lib) $(D)/$(bin)/ $(D)/$(sbin) \
$(D)/$(inc) $(D)/$(mandir)/man8 $(D)/$(mandir)/man1
ROOTDIRS = $(D)/$(etc)/Pegasus \
$(D)/$(var)/run/tog-pegasus $(D)/$(var)/run/tog-pegasus/socket \
$(D)/$(var)/lib/Pegasus $(D)/$(var)/lib/Pegasus/repository \
$(D)/$(var)/lib/Pegasus/cache \
$(D)/$(var)/lib/Pegasus/cache/localauth \
$(D)/$(var)/lib/Pegasus/log \
$(D)/$(lib)/Pegasus $(D)/$(lib)/Pegasus/providers \
$(D)/$(share)/Pegasus/scripts
PEGDIRS = $(D)/$(share)/Pegasus \
$(D)/$(share)/Pegasus/mof/CIM29 \
$(D)/$(share)/Pegasus/mof/Pegasus
MAN8S = $(wildcard $(R)/rpm/manLinux/man8.Z/*.8)
MAN1S = $(wildcard $(R)/rpm/manLinux/man1.Z/*.1)
CIMSCHEMA= $(wildcard $(R)/Schemas/CIM29/*)
CIMMOF=$(addprefix $(D)$(share)/Pegasus/mof/CIM29/,$(notdir $(CIMSCHEMA)))
PEGSCHEMA= $(R)/Schemas/Pegasus/Internal/VER20/PG_SSLCertificate20.mof \
$(R)/Schemas/Pegasus/ManagedSystem/VER20/PG_OperatingSystem20R.mof \
$(R)/Schemas/Pegasus/InterOp/VER20/PG_InterOpSchema20.mof \
$(R)/Schemas/Pegasus/ManagedSystem/VER20/PG_ComputerSystem20R.mof \
$(R)/Schemas/Pegasus/Internal/VER20/PG_User20.mof \
$(R)/Schemas/Pegasus/ManagedSystem/VER20/PG_UnixProcess20.mof \
$(R)/Schemas/Pegasus/ManagedSystem/VER20/PG_ManagedSystemSchema20.mof \
$(R)/Schemas/Pegasus/Internal/VER20/PG_ConfigSetting20.mof \
$(R)/Schemas/Pegasus/InterOp/VER20/PG_ProviderModule20.mof \
$(R)/Schemas/Pegasus/ManagedSystem/VER20/PG_OperatingSystem20.mof \
$(R)/Schemas/Pegasus/Internal/VER20/PG_Authorization20.mof \
$(R)/Schemas/Pegasus/Internal/VER20/PG_InternalSchema20.mof \
$(R)/Schemas/Pegasus/Internal/VER20/PG_ShutdownService20.mof \
$(R)/Schemas/Pegasus/ManagedSystem/VER20/PG_ComputerSystem20.mof \
$(R)/Schemas/Pegasus/ManagedSystem/VER20/PG_UnixProcess20R.mof \
$(R)/Schemas/Pegasus/ManagedSystem/VER20/PG_ManagedSystemSchema20R.mof \
$(R)/Schemas/Pegasus/Internal/VER20/PG_SSLCertificateRevocationList20.mof \
$(R)/Schemas/Pegasus/InterOp/VER20/PG_Events20.mof
PEGMOF=$(addprefix $(D)$(share)/Pegasus/mof/Pegasus/,$(notdir $(CIMSCHEMA)))
LINKED_LIBS=$(D)/$(lib)/libpegclient.so.1 $(D)/$(lib)/libpegcommon.so.1 $(D)/$(lib)/libpegprovider.so.1 $(D)/$(lib)/libDefaultProviderManager.so.1 $(D)/$(lib)/libCIMxmlIndicationHandler.so.1 $(D)/$(lib)/libCMPIProviderManager.so.1 $(D)/$(lib)/Pegasus/providers/libComputerSystemProvider.so.1 $(D)/$(lib)/Pegasus/providers/libOSProvider.so.1 $(D)/$(lib)/Pegasus/providers/libProcessProvider.so.1
export PEGASUS_STAGING_DIR := $(D)
install: dirs config libs lib_links bins mans mof SDK ghost_files repository
$(SYSDIRS):
/bin/mkdir -p $@
$(ROOTDIRS):
/bin/mkdir -p $@;
/bin/chown $(root_user):$(pegasus_user) $@ >/dev/null 2>&1;
/bin/chmod 0750 $@;
$(PEGDIRS):
/bin/mkdir -p $@;
/bin/chown $(root_user):$(pegasus_user) $@ >/dev/null 2>&1 || :;
/bin/chmod 0755 $@
dirs: $(SYSDIRS) $(ROOTDIRS) $(PEGDIRS)
$(D)/$(etc)/rc.d/init.d/tog-pegasus: $(R)/rpm/tog-pegasus.rc
$(install) -m 0750 -o $(root_user) -g $(pegasus_user) -p $< $@
$(D)/$(etc)/Pegasus/access.conf: $(R)/rpm/access.conf
$(install) -m 0640 -o $(root_user) -g $(pegasus_user) -p $< $@
$(D)/$(etc)/pam.d/wbem: $(R)/rpm/wbem
$(install) -m 0640 -o $(root_user) -g $(pegasus_user) -p $< $@
$(D)/$(share)/Pegasus/scripts/init_repository: $(R)/installs/scripts/init_repository
$(install) -m 0640 -o $(root_user) -g $(pegasus_user) -p $< $@
$(D)/$(share)/Pegasus/scripts/settogpath: $(R)/installs/scripts/settogpath
$(install) -m 0640 -o $(root_user) -g $(pegasus_user) -p $< $@
$(D)/$(share)/Pegasus/scripts/genOpenPegasusSSLCerts: $(R)/rpm/genOpenPegasusSSLCerts
$(install) -m 0640 -o $(root_user) -g $(pegasus_user) -p $< $@
config: $(D)/$(etc)/rc.d/init.d/tog-pegasus $(D)/$(etc)/Pegasus/access.conf $(D)/$(etc)/pam.d/wbem $(D)/$(share)/Pegasus/scripts/genOpenPegasusSSLCerts $(D)/$(share)/Pegasus/scripts/init_repository $(D)/$(share)/Pegasus/scripts/settogpath
$(D)/$(lib)/Pegasus/providers/%:
$(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(B)/lib/$(patsubst Pegasus/providers/%,%,$*) $@
$(D)/$(lib)/%:
$(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(B)/lib/$* $@
libs: $(LIBRARIES) $(patsubst $(B)/lib/%,$(D)/$(lib)/%,$(LIBRARIES) $(PROVIDERS))
$(patsubst %.so.1,%.so,$(LINKED_LIBS)):
/bin/ln -sf $(patsubst %,%.1,$(notdir $@)) $(patsubst %.so.1,%.so,$@)
lib_links: libs $(patsubst %.so.1,%.so,$(LINKED_LIBS))
$(patsubst $(B)/bin/%,$(D)/$(sbin)/%,$(SBINS)):
$(install) -m 0750 -o $(root_user) -g $(pegasus_user) -p $(patsubst $(D)/$(sbin)/%,$(B)/bin/%, $@) $@
$(patsubst $(B)/bin/%,$(D)/$(bin)/%,$(UBINS)):
$(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(patsubst $(D)/$(bin)/%,$(B)/bin/%, $@) $@
bins: $(SBINS) $(UBINS) $(patsubst $(B)/bin/%,$(D)/$(sbin)/%,$(SBINS)) $(patsubst $(B)/bin/%,$(D)/$(bin)/%,$(UBINS))
$(D)/$(mandir)/man8/%.8:
$(install) -m 0644 -o $(root_user) -g $(root_user) -p $(R)/rpm/manLinux/man8.Z/$*.8 $@
$(D)/$(mandir)/man1/%.1:
$(install) -m 0644 -o $(root_user) -g $(root_user) -p $(R)/rpm/manLinux/man1.Z/$*.1 $@
mans: $(subst $(R)/rpm/manLinux/man8.Z,$(D)/$(mandir)/man8,$(MAN8S)) $(subst $(R)/rpm/manLinux/man1.Z,$(D)/$(mandir)/man1,$(MAN1S))
mof: $(CIMSCHEMA) $(PEGSCHEMA)
$(install) -m 0644 -o $(root_user) -g $(root_user) -p $(CIMSCHEMA) $(D)/$(share)/Pegasus/mof/CIM29
$(install) -m 0644 -o $(root_user) -g $(root_user) -p $(PEGSCHEMA) $(D)/$(share)/Pegasus/mof/Pegasus
SDK:
/bin/mkdir -p $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.5/
$(MAKE) -f $(R)/mak/SDKMakefile stageSDK
/bin/rm -rf $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.5/
touch SDK
ghost_files:
touch $(D){/etc/Pegasus/{cimserver_current.conf,cimserver_planned.conf,cimserver_trust,indication_trust,crl,ssl.cnf,client.pem,server.pem,file.pem,},/var/{run/tog-pegasus/{cimxml.socket,cimserver.pid,cimserver_start.lock},lib/Pegasus/log/install.log}}
repository:
PATH=$(B)/bin:$$PATH LD_LIBRARY_PATH=$(B)/lib $(MAKE) -C Schemas/Pegasus repository REPOSITORY_DIR=$(D)/$(var)/lib/Pegasus
# test package :
TESTLIBS:=$(B)/lib/libFamilyProvider.so.1 $(B)/lib/libIndicationStressTestConsumer.so.1 $(B)/lib/libIndicationStressTestProvider.so.1 $(B)/lib/libSampleInstanceProvider.so.1 $(B)/lib/libSampleMethodProvider.so.1
TESTBINS:=$(B)/bin/TestAbstract $(B)/bin/TestArray $(B)/bin/TestBase64 $(B)/bin/TestClassDecl $(B)/bin/TestDateTime $(B)/bin/TestFlavor $(B)/bin/TestFormatter $(B)/bin/TestHashTable $(B)/bin/TestInstanceDecl $(B)/bin/TestLogger $(B)/bin/TestMethod $(B)/bin/TestObject $(B)/bin/TestOperationContext $(B)/bin/TestParamValue $(B)/bin/TestParameter $(B)/bin/TestProperty $(B)/bin/TestQualifier $(B)/bin/TestQualifierDecl $(B)/bin/TestQualifierList $(B)/bin/TestQueue $(B)/bin/TestReference $(B)/bin/TestResolve $(B)/bin/TestResponseHandler $(B)/bin/TestScope $(B)/bin/TestStack $(B)/bin/TestStopwatch $(B)/bin/TestStrToInstName $(B)/bin/TestString $(B)/bin/TestTimeValue $(B)/bin/TestToMof $(B)/bin/TestValidateClass $(B)/bin/TestValue $(B)/bin/TracerTest $(B)/bin/TestIPC $(B)/bin/TestClient $(B)/bin/OSTestClient $(B)/bin/TestPegClientInvokeMethod2 $(B)/bin/TestIndicationStressTest
$(B)/lib/libFamilyProvider.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Providers/TestProviders/FamilyProvider
$(B)/lib/libIndicationStressTestConsumer.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Providers/TestProviders/IndicationStressTestProvider/testconsumer
$(B)/lib/libIndicationStressTestProvider.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Providers/TestProviders/IndicationStressTestProvider
$(B)/lib/libSampleInstanceProvider.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Providers/sample/InstanceProvider
$(B)/lib/libSampleMethodProvider.so.1: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Providers/sample/MethodProvider
$(B)/bin/TestAbstract: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Abstract
$(B)/bin/TestArray: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Array
$(B)/bin/TestBase64: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Base64
$(B)/bin/TestClassDecl: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/ClassDecl
$(B)/bin/TestDateTime: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/DateTime
$(B)/bin/TestFlavor: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Flavor
$(B)/bin/TestFormatter: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Formatter
$(B)/bin/TestHashTable: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/HashTable
$(B)/bin/TestInstanceDecl: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/InstanceDecl
$(B)/bin/TestLogger: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Logger
$(B)/bin/TestMethod: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Method
$(B)/bin/TestObject: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Object
$(B)/bin/TestOperationContext: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/OperationContext
$(B)/bin/TestParamValue: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/ParamValue
$(B)/bin/TestParameter: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Parameter
$(B)/bin/TestProperty: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Property
$(B)/bin/TestQualifier: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Qualifier
$(B)/bin/TestQualifierDecl: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/QualifierDecl
$(B)/bin/TestQualifierList: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/QualifierList
$(B)/bin/TestQueue: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Queue
$(B)/bin/TestReference: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Reference
$(B)/bin/TestResolve: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Resolve
$(B)/bin/TestScope: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Scope
$(B)/bin/TestStack: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Stack
$(B)/bin/TestStopwatch: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Stopwatch
$(B)/bin/TestStrToInstName: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/StrToInstName
$(B)/bin/TestString: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/String
$(B)/bin/TestTimeValue: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/TimeValue
$(B)/bin/TestToMof: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/ToMof
$(B)/bin/TestValidateClass: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/ValidateClass
$(B)/bin/TestValue: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Value
$(B)/bin/TestTracer: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Tracer
$(B)/bin/TestIPC: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/IPC
$(B)/bin/TestResponseHandler: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegprovider.so.1 $(B)/lib/libpegprovidermanager.so.1 $(B)/lib/libpegprm.so.1 $(B)/lib/libpegconfig.so.1 $(B)/lib/libpegquerycommon.so.1 $(B)/lib/libpegqueryexpression.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegwql.so.1 $(B)/lib/libpegrepository.so.1 $(B)/lib/libpegcql.so.1
$(MAKE) -C $(R)/src/Pegasus/ProviderManager2/Default/tests/ResponseHandler
$(B)/bin/TracerTest: $(B)/lib/libpegcommon.so.1
$(MAKE) -C $(R)/src/Pegasus/Common/tests/Tracer
$(B)/bin/TestClient: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1
$(MAKE) -C $(R)/src/Clients/TestClient
$(B)/bin/OSTestClient: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1
$(MAKE) -C $(R)/src/Providers/ManagedSystem/OperatingSystem/tests/OSTestClient
$(B)/bin/TestPegClientInvokeMethod2: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1
$(MAKE) -C $(R)/src/Pegasus/Client/tests/InvokeMethod2
$(B)/bin/TestIndicationStressTest: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpeglistener.so.1 $(B)/lib/libpegclient.so.1 $(B)/lib/libpegexportserver.so.1
$(MAKE) -C $(R)/src/Providers/TestProviders/IndicationStressTestProvider/testclient
tests: $(TESTLIBS) $(TESTBINS)
install_tests: tests test_dirs test_lib test_bin test_mak test_makefile test_repository
TESTDIRS = $(D)/$(share)/Pegasus/test \
$(D)/$(share)/Pegasus/test/bin \
$(D)/$(share)/Pegasus/test/lib \
$(D)/$(share)/Pegasus/test/mak
$(TESTDIRS):
/bin/mkdir -p $@;
/bin/chown $(root_user):$(pegasus_user) $@ >/dev/null 2>&1 || :;
/bin/chmod 0755 $@
test_dirs: $(TESTDIRS)
$(patsubst $(B)/lib/%,$(D)/$(share)/Pegasus/test/lib/%,$(TESTLIBS)):
$(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(patsubst $(D)/$(share)/Pegasus/test/lib/%,$(B)/lib/%,$@) $@
test_lib: $(TESTLIBS) $(patsubst $(B)/lib/%,$(D)/$(share)/Pegasus/test/lib/%,$(TESTLIBS))
$(patsubst $(B)/bin/%,$(D)/$(share)/Pegasus/test/bin/%,$(TESTBINS)):
$(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(patsubst $(D)/$(share)/Pegasus/test/bin/%,$(B)/bin/%,$@) $@
test_bin: $(TESTBINS) $(patsubst $(B)/bin/%,$(D)/$(share)/Pegasus/test/bin/%,$(TESTBINS))
test_mak:
$(MAKE) --directory=$(R) -f Makefile.ReleaseTest -s stage_makfiles
test_makefile:
$(MAKE) --directory=$(R) -f Makefile.ReleaseTest -s create_Makefile
test_repository:
LD_LIBRARY_PATH=$(B)/lib PATH=$(B)/bin:$$PATH $(MAKE) --directory=$(R) -f Makefile.ReleaseTest -s create_repository