1 martin 1.43 #//%LICENSE////////////////////////////////////////////////////////////////
|
2 martin 1.44 #//
|
3 martin 1.43 #// Licensed to The Open Group (TOG) under one or more contributor license
4 #// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
5 #// this work for additional information regarding copyright ownership.
6 #// Each contributor licenses this file to you under the OpenPegasus Open
7 #// Source License; you may not use this file except in compliance with the
8 #// License.
|
9 martin 1.44 #//
|
10 martin 1.43 #// Permission is hereby granted, free of charge, to any person obtaining a
11 #// copy of this software and associated documentation files (the "Software"),
12 #// to deal in the Software without restriction, including without limitation
13 #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 #// and/or sell copies of the Software, and to permit persons to whom the
15 #// Software is furnished to do so, subject to the following conditions:
|
16 martin 1.44 #//
|
17 martin 1.43 #// The above copyright notice and this permission notice shall be included
18 #// in all copies or substantial portions of the Software.
|
19 martin 1.44 #//
|
20 martin 1.43 #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
21 martin 1.44 #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
22 martin 1.43 #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
27 martin 1.44 #//
|
28 martin 1.43 #//////////////////////////////////////////////////////////////////////////
|
29 mike 1.1 ROOT = ../../..
30
31 DIR = Pegasus/Repository
32
33 include $(ROOT)/mak/config.mak
34
|
35 kumpf 1.42 ifeq ($(PEGASUS_USE_SQLITE_REPOSITORY),true)
36 ifdef SQLITE_HOME
37 SYS_INCLUDES += -I$(SQLITE_HOME)/include
38 endif
39 endif
40
|
41 jim.wunderlich 1.25 EXTRA_INCLUDES = -I..
|
42 mike 1.1
|
43 kumpf 1.19 LOCAL_DEFINES = -DPEGASUS_REPOSITORY_INTERNAL -DPEGASUS_INTERNALONLY
|
44 mike 1.1
|
45 chuck 1.24 LIBRARIES = pegcommon pegquerycommon pegconfig
|
46 kumpf 1.12
|
47 keith.petley 1.20 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC)
|
48 keith.petley 1.21 EXTRA_LIBRARIES += -lCstd
|
49 keith.petley 1.20 endif
50
|
51 kumpf 1.42 ifeq ($(PEGASUS_USE_SQLITE_REPOSITORY),true)
52 ifeq ($(OS_TYPE),windows)
53 SYS_LIBS += /libpath:$(SQLITE_HOME)/lib libsqlite3.lib
54 else
55 ifdef SQLITE_HOME
56 EXTRA_LIBRARIES += -L$(SQLITE_HOME)/lib
57 endif
58 EXTRA_LIBRARIES += -lsqlite3
59 endif
60 endif
61
|
62 jim.wunderlich 1.25 ##
63 ## PEP214 Compressed repository
64 ## ----------------------------
65 ##
66 ## This PEP added the capability to utilize compression algorithms
67 ## on the repository. The compressed repository is approximatley 70%
68 ## smaller than a regular xml text based repository. This allows
|
69 kumpf 1.37 ## significant disk space savings and also results in shorter file
|
70 jim.wunderlich 1.25 ## load times.
|
71 kumpf 1.37 ##
72 ## The compression logic is installed as a conditionally compiled option.
|
73 jim.wunderlich 1.25 ## To enable the compressed repository functionality:
74 ## 1. Install zlib
|
75 jim.wunderlich 1.27 ## 2. define PEGASUS_ENABLE_COMPRESSED_REPOSITORY=on in the environment
|
76 jim.wunderlich 1.25 ## 3. build Pegasus.
|
77 kumpf 1.37 ##
78 ## Please refer to readme.compression in the main pegasus directory
|
79 jim.wunderlich 1.25 ## for more information about repository compression.
80 ##
81
|
82 jim.wunderlich 1.27 ifdef PEGASUS_ENABLE_COMPRESSED_REPOSITORY
83 LOCAL_DEFINES += -DPEGASUS_ENABLE_COMPRESSED_REPOSITORY
|
84 jim.wunderlich 1.25
|
85 carson.hovey 1.39 ifeq ($(OS_TYPE),windows)
|
86 jim.wunderlich 1.25 EXTRA_LINK_FLAGS += -defaultlib:libz -libpath:/"Program Files"/GnuWin32/lib
87 EXTRA_INCLUDES += -I/"Program Files"/GnuWin32/include
88 else
|
89 carson.hovey 1.39 ifeq ($(OS_TYPE),vms)
90 EXTRA_INCLUDES += -I/libz
91 else
92 EXTRA_LINK_FLAGS += -lz
93 endif
|
94 jim.wunderlich 1.25 endif
95
96 endif
97
|
98 a.dunfey 1.38 ifeq ($(OS_TYPE),windows)
|
99 kumpf 1.37 ##
100 ## The following .PHONY rule gets around the problem in Windows for
|
101 jim.wunderlich 1.25 ## the "Program Files" directory name. The depends program strips the
102 ## quotes when the depends file is built and upon subsequent compile
103 ## it fails with no rule to make these fragments.
104 ##
105 ##
106 .PHONY: /Program Files/GnuWin32/include/zlib.h Files/GnuWin32/include/zconf.h
107 endif
108
|
109 mike 1.35 STATIC=1
|
110 mike 1.1 LIBRARY = pegrepository
111
|
112 mike 1.2 SOURCES = \
|
113 mike 1.7 NameSpaceManager.cpp \
|
114 mike 1.32 ObjectCache.cpp \
|
115 mike 1.5 InheritanceTree.cpp \
|
116 chuck 1.24 RepositoryDeclContext.cpp \
|
117 thilo.boehm 1.45 RepositoryQueryContext.cpp \
118 AutoStreamer.cpp \
119 BinaryStreamer.cpp \
120 Packer.cpp \
121 XmlStreamer.cpp
|
122 mike 1.1
|
123 mike 1.40 ifdef PEGASUS_ENABLE_MRR
|
124 kumpf 1.41 SOURCES += MRRSerialization.cpp
125 SOURCES += MRRTypes.cpp
126 SOURCES += CIMRepositoryMRR.cpp
|
127 mike 1.40 else
|
128 kumpf 1.41 SOURCES += AssocClassTable.cpp
129 SOURCES += AssocClassCache.cpp
130 SOURCES += AssocInstTable.cpp
131 SOURCES += InstanceIndexFile.cpp
132 SOURCES += InstanceDataFile.cpp
|
133 kumpf 1.42 SOURCES += PersistentStore.cpp
|
134 kumpf 1.41 SOURCES += FileBasedStore.cpp
135 SOURCES += CIMRepository.cpp
|
136 kumpf 1.42 ifeq ($(PEGASUS_USE_SQLITE_REPOSITORY),true)
137 SOURCES += SQLiteStore.cpp
138 endif
|
139 mike 1.40 endif
140
|
141 mike 1.1 include $(ROOT)/mak/library.mak
|
142 jim.wunderlich 1.25
143 compress:
144 make clean
|
145 jim.wunderlich 1.27 make depend PEGASUS_ENABLE_COMPRESSED_REPOSITORY=1
146 make PEGASUS_ENABLE_COMPRESSED_REPOSITORY=1
|