# 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 export RPM_BUILD_DIR ?= $(shell cd ..;pwd) export RPM_ARCH ?= $(shell uname -i) export 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 $(B)/bin/cimauth $(B)/bin/cimconfig $(B)/bin/cimuser $(B)/bin/repupgrade UBINS=$(B)/bin/cimmof $(B)/bin/cimmofl $(B)/bin/cimprovider $(B)/bin/osinfo $(B)/bin/wbemexec 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 $(B)/lib/libpegpmservice.so.1 all: $(BINARIES) $(LIBRARIES) $(PROVIDERS) stage_PegasusSystemFiles: $(MAKE) -f Makefile.Release stage_PegasusSystemFiles setup: $(MAKE) -f Makefile.Release create_ProductVersionFile $(MAKE) -f Makefile.Release create_CommonProductDirectoriesInclude $(MAKE) -f Makefile.Release create_ConfigProductDirectoriesInclude touch setup $(BINARIES) $(LIBRARIES) $(PROVIDERS): 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 $(B)/lib/libpegpmservice.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/ProviderManagerService/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 $(B)/lib/libpegpmservice.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 $(B)/lib/libpegpmservice.so.1: $(B)/lib/libpegcommon.so.1 $(MAKE) -C $(R)/src/Pegasus/ProviderManagerService # # 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/repository/root/classes \ $(D)/$(var)/lib/Pegasus/repository/root/instances \ $(D)/$(var)/lib/Pegasus/repository/root/qualifiers \ $(D)/$(var)/lib/Pegasus/cache \ $(D)/$(var)/lib/Pegasus/cache/localauth \ $(D)/$(var)/lib/Pegasus/cache/trace \ $(D)/$(var)/lib/Pegasus/log \ $(D)/$(lib)/Pegasus \ $(D)/$(lib)/Pegasus/providers \ $(D)/$(lib)/cmpi \ $(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) BSX ?= 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)/%,$(patsubst %,%$(BSX),$(SBINS))): $(install) -m 0750 -o $(root_user) -g $(pegasus_user) -p $(patsubst %$(BSX),%,$(patsubst $(D)/$(sbin)/%,$(B)/bin/%, $@)) $@ if [ -n "$(BSX)" ]; then /bin/ln -s $(notdir $@) $(patsubst %$(BSX),%,$@); fi $(patsubst $(B)/bin/%,$(D)/$(bin)/%,$(patsubst %,%$(BSX),$(UBINS))): $(install) -m 0755 -o $(root_user) -g $(pegasus_user) -p $(patsubst %$(BSX),%,$(patsubst $(D)/$(bin)/%,$(B)/bin/%, $@)) $@ if [ -n "$(BSX)" ]; then /bin/ln -s $(notdir $@) $(patsubst %$(BSX),%,$@); fi bins: $(SBINS) $(UBINS) $(patsubst $(B)/bin/%,$(D)/$(sbin)/%,$(patsubst %,%$(BSX),$(SBINS))) $(patsubst $(B)/bin/%,$(D)/$(bin)/%,$(patsubst %,%$(BSX),$(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.6/ $(MAKE) -f $(R)/mak/SDKMakefile stageSDK /bin/rm -rf $(PEGASUS_STAGING_DIR)/usr/share/doc/tog-pegasus-2.6/ if [ -n "$(BSX)" ]; then mv $(D)/$(share)/Pegasus/samples/mak/config.mak $(D)/$(share)/Pegasus/samples/mak/config.mak$(BSX); /bin/ln -s config.mak$(BSX) $(D)/$(share)/Pegasus/samples/mak/config.mak; fi; 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,cache/trace/cimserver.trc}}} 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/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/TestClient $(B)/bin/TestOSTestClient $(B)/bin/TestPegClientInvokeMethod2 $(B)/bin/TestIndicationStressTest $(B)/bin/TestAsyncQueue $(B)/bin/TestList $(B)/bin/TestTracer $(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/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/TestClient: $(B)/lib/libpegcommon.so.1 $(B)/lib/libpegclient.so.1 $(MAKE) -C $(R)/src/Clients/TestClient $(B)/bin/TestOSTestClient: $(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 $(B)/bin/TestAsyncQueue: $(B)/lib/libpegcommon.so.1 $(MAKE) -C $(R)/src/Pegasus/Common/tests/AsyncQueue $(B)/bin/TestList: $(B)/lib/libpegcommon.so.1 $(MAKE) -C $(R)/src/Pegasus/Common/tests/List 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 if [ -n "$(BSX)" ]; then /bin/mv $(D)/$(share)/Pegasus/test/Makefile $(D)/$(share)/Pegasus/test/Makefile$(BSX); /bin/ln -s Makefile$(BSX) $(D)/$(share)/Pegasus/test/Makefile; fi; test_repository: LD_LIBRARY_PATH=$(B)/lib PATH=$(B)/bin:$$PATH $(MAKE) --directory=$(R) -f Makefile.ReleaseTest -s create_repository