diff --git a/RedHat.OpenPegasus.Makefile b/RedHat.OpenPegasus.Makefile new file mode 100644 index 0000000..dbcc351 --- /dev/null +++ b/RedHat.OpenPegasus.Makefile @@ -0,0 +1,551 @@ +# 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 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 +