#//%2006//////////////////////////////////////////////////////////////////////// #// #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; #// IBM Corp.; EMC Corporation, The Open Group. #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; #// 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 #// of this software and associated documentation files (the "Software"), to #// deal in the Software without restriction, including without limitation the #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or #// sell copies of the Software, and to permit persons to whom the Software is #// furnished to do so, subject to the following conditions: #// #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #// #//============================================================================== ROOT = ../../.. DIR = Pegasus/Repository include $(ROOT)/mak/config.mak EXTRA_INCLUDES = -I.. LOCAL_DEFINES = -DPEGASUS_REPOSITORY_INTERNAL -DPEGASUS_INTERNALONLY ifdef PEGASUS_USE_MEMORY_RESIDENT_REPOSITORY LOCAL_DEFINES += -DPEGASUS_USE_MEMORY_RESIDENT_REPOSITORY endif LIBRARIES = pegcommon pegquerycommon pegconfig ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC) EXTRA_LIBRARIES += -lCstd endif ## ## PEP214 Compressed repository ## ---------------------------- ## ## This PEP added the capability to utilize compression algorithms ## on the repository. The compressed repository is approximatley 70% ## smaller than a regular xml text based repository. This allows ## significant disk space savings and also results in shorter file ## load times. ## ## The compression logic is installed as a conditionally compiled option. ## To enable the compressed repository functionality: ## 1. Install zlib ## 2. define PEGASUS_ENABLE_COMPRESSED_REPOSITORY=on in the environment ## 3. build Pegasus. ## ## Please refer to readme.compression in the main pegasus directory ## for more information about repository compression. ## ifdef PEGASUS_ENABLE_COMPRESSED_REPOSITORY LOCAL_DEFINES += -DPEGASUS_ENABLE_COMPRESSED_REPOSITORY ifeq ($(OS_TYPE),windows) EXTRA_LINK_FLAGS += -defaultlib:libz -libpath:/"Program Files"/GnuWin32/lib EXTRA_INCLUDES += -I/"Program Files"/GnuWin32/include else ifeq ($(OS_TYPE),vms) EXTRA_INCLUDES += -I/libz else EXTRA_LINK_FLAGS += -lz endif endif endif ifeq ($(OS_TYPE),windows) ## ## The following .PHONY rule gets around the problem in Windows for ## the "Program Files" directory name. The depends program strips the ## quotes when the depends file is built and upon subsequent compile ## it fails with no rule to make these fragments. ## ## .PHONY: /Program Files/GnuWin32/include/zlib.h Files/GnuWin32/include/zconf.h endif STATIC=1 LIBRARY = pegrepository SOURCES = \ MemoryResidentRepository.cpp \ Repository.cpp \ DefaultRepository.cpp \ MetaTypes.cpp \ InstanceIndexFile.cpp \ InstanceDataFile.cpp \ CIMRepository.cpp \ AssocClassTable.cpp \ AssocClassCache.cpp \ AssocInstTable.cpp \ NameSpaceManager.cpp \ ObjectCache.cpp \ InheritanceTree.cpp \ RepositoryDeclContext.cpp \ RepositoryQueryContext.cpp \ MetaRepository.cpp \ Filtering.cpp include $(ROOT)/mak/library.mak compress: make clean make depend PEGASUS_ENABLE_COMPRESSED_REPOSITORY=1 make PEGASUS_ENABLE_COMPRESSED_REPOSITORY=1 SCHEMAS=$(PEGASUS_ROOT)/Schemas CIMMOFL=$(PEGASUS_HOME)/bin/cimmofl -W -d -m