(file) Return to config.mak CVS log (file) (dir) Up to [Pegasus] / pegasus / mak

  1 mike  1.1 ################################################################################
  2           ##
  3           ## Get external environment variables. Note that all external environment
  4           ## variables begin with "PEGASUS_".
  5           ##
  6           ################################################################################
  7           
  8 konrad.r 1.55 ifndef ROOT
  9                   ROOT =  $(subst \,/,$(PEGASUS_ROOT))
 10               endif
 11               
 12 denise.eckstein 1.61 ifdef PEGASUS_ENVVAR_FILE
 13 david.dillard   1.65     include $(PEGASUS_ENVVAR_FILE)
 14 denise.eckstein 1.61 else
 15 david.dillard   1.65     include $(ROOT)/env_var.status
 16 denise.eckstein 1.61 endif
 17 konrad.r        1.55 
 18 mike            1.2  ifdef PEGASUS_HOME
 19 david.dillard   1.65     HOME_DIR = $(subst \,/,$(PEGASUS_HOME))
 20 mike            1.1  else
 21 david.dillard   1.65     $(error PEGASUS_HOME environment variable undefined)
 22 mike            1.1  endif
 23                      
 24 karl            1.18 ifdef PEGASUS_ROOT
 25                          ROOT =  $(subst \,/,$(PEGASUS_ROOT))
 26                      else
 27 david.dillard   1.65     $(error PEGASUS_ROOT environment variable undefined)
 28 karl            1.18 endif
 29                      
 30 chuck           1.35 # l10n
 31                      ifdef ICU_ROOT
 32                          ICUROOT =  $(subst \,/,$(ICU_ROOT))
 33                      endif
 34                      
 35 kumpf           1.21 ifdef PEGASUS_TMP
 36 david.dillard   1.65     TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
 37 kumpf           1.21 else
 38 david.dillard   1.65     TMP_DIR = .
 39 kumpf           1.21 endif
 40                      
 41 kumpf           1.26 ifdef PEGASUS_DISPLAYCONSUMER_DIR
 42 david.dillard   1.65     DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_DISPLAYCONSUMER_DIR))
 43 kumpf           1.26 else
 44 david.dillard   1.65     DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_HOME))
 45 kumpf           1.26 endif
 46                      
 47 david.dillard   1.66 PLATFORM_FILES=$(wildcard $(ROOT)/mak/platform*.mak)
 48 karl            1.78 PLATFORM_TEMP=$(subst $(ROOT)/mak/platform_,, $(PLATFORM_FILES))
 49                      VALID_PLATFORMS=$(subst .mak,, $(PLATFORM_TEMP))
 50 mike            1.8  
 51                      ifndef PEGASUS_PLATFORM
 52 david.dillard   1.66     $(error PEGASUS_PLATFORM environment variable undefined. Please set to\
 53                              one of the following:$(VALID_PLATFORMS))
 54 mike            1.8  endif
 55                      
 56 mike            1.1  ################################################################################
 57                      
 58 kumpf           1.22 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
 59                      BIN_DIR = $(HOME_DIR)/bin
 60                      LIB_DIR = $(HOME_DIR)/lib
 61 chuck           1.35 
 62                      # l10n
 63                      # define the location for the compiled messages
 64                      MSG_ROOT = $(HOME_DIR)/msg
 65 kumpf           1.22 
 66                      # define the location for the repository
 67                      REPOSITORY_DIR = $(HOME_DIR)
 68 jim.wunderlich  1.81 REPOSITORY_NAME = repository
 69                      REPOSITORY_ROOT = $(REPOSITORY_DIR)/$(REPOSITORY_NAME)
 70                      
 71                      # define the repository mode 
 72                      #	XML = XML format
 73                      #	BIN = Binary format
 74                      #
 75                      REPOSITORY_MODE = XML
 76 mike            1.1  
 77 kumpf           1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
 78 chip            1.76 # are used to control the version of the CIM Schema
 79 kumpf           1.23 # loaded into the Pegasus Internal, InterOp,
 80                      # root/cimv2 and various test namespaces.
 81                      #
 82 chip            1.76 # Update the following two environment variables to
 83 kumpf           1.23 # change the version.
 84                      
 85 kumpf           1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
 86 chip            1.76 # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
 87 kumpf           1.37 # and ALLOW_EXPERIMENTAL.
 88                      #
 89                      # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
 90                      # files must be placed in the directory
 91                      # $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
 92 chip            1.76 #
 93 kumpf           1.37 # The value of PEGASUS_CIM_SCHEMA must conform to the
 94                      # following syntax:
 95                      #
 96                      #        CIM[Prelim]<CIM_SCHEMA_VER>
 97                      #
 98 chip            1.76 # The string "Prelim" should be included if the
 99 kumpf           1.37 # Schema contains "Experimental" class definitions.
100                      #
101                      # The value of <CIM_SCHEMA_VER> must be the value
102 chip            1.76 # of the version string included by the DMTF as
103                      # part of the mof file names (e.g, CIM_Core27.mof).
104 kumpf           1.37 # Therefore, for example, the value of <CIM_SCHEMA_VER>
105                      # for CIM27 Schema directories MUST be 27.
106                      #
107 chip            1.76 # Examples of valid values of PEGASUS_CIM_SCHEMA
108 kumpf           1.37 # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
109                      #
110                      # Note the CIMPrelim271 would NOT be a valid value
111                      # for PEGASUS_CIM_SCHEMA because the version string
112                      # portion of the mof files (e.g., CIM_Core27.mof) in
113                      # the CIMPrelimin271 directory is 27 not 271.
114 kumpf           1.23 
115 gerarda         1.29 # ***** CIM_SCHEMA_DIR INFO ****
116                      # If CIM_SCHEMA_DIR changes to use a preliminary schema which
117                      # has experimentals make sure and change the path below to appopriate
118                      # directory path.  Example:  CIMPrelim271 is preliminary and has
119                      # experimental classes.  Since experimental classes exist the -aE
120                      # option of the mof compiler needs to be set.
121                      # *****
122 kumpf           1.37 
123                      ifdef PEGASUS_CIM_SCHEMA
124 david.dillard   1.65     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
125 chip            1.76     ifeq ($(findstring $(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA))),1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 271 28),)
126 david.dillard   1.65        CIM_SCHEMA_VER=
127                          else
128                             CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
129                          endif
130 kumpf           1.37 else
131 a.dunfey        1.82     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM29
132                          CIM_SCHEMA_VER=
133 kumpf           1.37 endif
134                      
135                      ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
136 david.dillard   1.65     ALLOW_EXPERIMENTAL = -aE
137 gerarda         1.29 else
138 david.dillard   1.65     ALLOW_EXPERIMENTAL =
139 gerarda         1.29 endif
140                      
141 bob             1.5  LEX = flex
142                      
143 jim.wunderlich  1.86 ## ========================================================================
144                      ## DIFFSORT function definition 
145                      ## Here is an example using the DIFFSORT function:
146                      ## 
147                      ## difftest: FORCE
148                      ##	@ test > result
149                      ##      @ $(call DIFFSORT,result,standard_result)
150                      ##	@ $(ECHO) +++++ all test passed
151                      ##
152                      
153                      define NL
154                      
155                      
156                      endef
157                      
158                      DIFFSORT = $(SORT) $(1) > $(1).tmp $(NL) \
159                      $(SORT) $(2) > $(2).tmp $(NL) \
160                      $(DIFF) $(1).tmp $(2).tmp $(NL) \
161                      $(RM) -f $(1).tmp $(NL) \
162                      $(RM) -f $(2).tmp $(NL)
163                      
164 jim.wunderlich  1.86 
165 mike            1.8  ################################################################################
166                      ##
167                      ## Attempt to include a platform configuration file:
168                      ##
169                      ################################################################################
170                      
171 david.dillard   1.66 PLATFORM_FILE = $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
172                      ifneq ($(wildcard $(PLATFORM_FILE)), )
173                          include $(PLATFORM_FILE)
174                      else
175 david.dillard   1.65   $(error  PEGASUS_PLATFORM environment variable must be set to one of\
176 david.dillard   1.66         the following:$(VALID_PLATFORMS))
177 mike            1.8  endif
178 karl            1.17 
179 karl            1.36 ################################################################################
180                      ##
181                      ##  Set up any platform independent compile conditionals by adding them to
182                      ##  precreated FLAGS parameter.
183 chip            1.76 ##  Assumes that the basic flags have been setup in FLAGS.
184 karl            1.36 ##  Assumes that compile time flags are controlled with -D CLI option.
185                      ##
186                      ################################################################################
187 karl            1.17 
188 karl            1.36 # Setup the conditional compile for client displays.
189 chip            1.76 #
190 karl            1.36 ifdef PEGASUS_CLIENT_TRACE_ENABLE
191 david.dillard   1.65     DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE
192 karl            1.36 endif
193                      
194 kumpf           1.87 # Allow PEGASUS_ASSERT statements to be disabled.
195                      ifdef PEGASUS_NOASSERTS
196                          DEFINES += -DNDEBUG
197                      endif
198                      
199 mday            1.40 # do not compile trace code. sometimes it causes problems debugging
200                      ifdef PEGASUS_REMOVE_TRACE
201 david.dillard   1.65     DEFINES += -DPEGASUS_REMOVE_TRACE
202 mday            1.40 endif
203                      
204 chuck           1.47 # PEP 161
205                      # Control whether utf-8 filenames are supported by the repository
206                      ifdef PEGASUS_SUPPORT_UTF8_FILENAME
207 david.dillard   1.65     DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME
208 chuck           1.47 
209 david.dillard   1.65     # Control whether utf-8 filenames in the repository are escaped
210                          ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
211                              DEFINES += -DPEGASUS_REPOSITORY_ESCAPE_UTF8
212                          endif
213 chuck           1.47 endif
214                      
215 kumpf           1.49 #
216                      # PEP 142
217                      # The following flag need to be set to enable
218                      # user group authorization functionality.
219                      #
220                      ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
221 david.dillard   1.65     DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
222 kumpf           1.49 endif
223                      
224 chuck           1.67 #
225                      # PEP 193
226                      # The following flag need to be set to disable
227                      # CQL in indication subscriptions
228                      #
229                      ifdef PEGASUS_DISABLE_CQL
230                          DEFINES += -DPEGASUS_DISABLE_CQL
231                      endif
232                      
233 kumpf           1.68 #
234                      # PEP 186
235                      # Allow override of product name/version/status.  A file
236                      # pegasus/src/Pegasus/Common/ProductVersion.h must exist when this
237                      # flag is defined.
238                      #
239                      ifdef PEGASUS_OVERRIDE_PRODUCT_ID
240                          DEFINES += -DPEGASUS_OVERRIDE_PRODUCT_ID
241                      endif
242                      
243 kumpf           1.71 #
244                      # PEP 197
245                      # Allow the Provider User Context feature to be disabled.
246                      #
247 kumpf           1.74 ifdef PEGASUS_DISABLE_PROV_USERCTXT
248 kumpf           1.71     DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT
249 kumpf           1.74 else
250                          ifdef PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
251                              DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
252                          endif
253                          ifdef PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
254                              DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
255                          endif
256                          ifdef PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
257                              DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
258                          endif
259                          ifdef PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
260                              DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
261                          endif
262                      endif
263 kumpf           1.71 
264 chip            1.76 # PEP 211
265                      # Controls object normalization support.
266                      ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
267                          DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION
268                      endif
269                      
270 kumpf           1.80 # Allow ExecQuery functionality to be enabled
271                      ifndef PEGASUS_ENABLE_EXECQUERY
272                          DEFINES += -DPEGASUS_DISABLE_EXECQUERY
273                      endif
274                      
275 yi.zhou         1.85 # Allow System Log Handler to be enabled
276                      ifdef PEGASUS_ENABLE_SYSTEM_LOG_HANDLER
277                        DEFINES += -DPEGASUS_ENABLE_SYSTEM_LOG_HANDLER
278                      endif
279                      
280                      # Allow Email Handler to be enabled
281                      ifdef PEGASUS_ENABLE_EMAIL_HANDLER
282                        DEFINES += -DPEGASUS_ENABLE_EMAIL_HANDLER
283                      endif
284 kumpf           1.49 
285 karl            1.39 # setup function to enable SLP functions in the Pegasus standard compile
286 karl            1.75 # Set the environment varaible PEGASUS_ENABLE_SLP to enable SLP code.
287                      # NOTE. Effective with Bug # 2633 some platforms now enable SLP.
288                      # To see which platforms look for platform make files that set
289 chip            1.76 # the variable PEGASUS_ENABLE_SLP
290 karl            1.39 ifdef PEGASUS_ENABLE_SLP
291 david.dillard   1.65     DEFINES += -DPEGASUS_ENABLE_SLP
292 karl            1.39 endif
293 karl            1.36 
294 karl            1.60 # set PEGASUS_DEBUG into the DEFINES if it exists.
295                      # Note that this flag is the general separator between
296                      # debug compiles and non-debug compiles and controls both
297                      # the use of any debug options on compilers and linkers
298                      # and general debug support that we want to be turned on in
299 chip            1.76 # debug mode.
300 karl            1.60 ifdef PEGASUS_DEBUG
301 david.dillard   1.65     DEFINES += -DPEGASUS_DEBUG
302 kumpf           1.88 
303                          # Indications debugging options
304                          ifdef PEGASUS_INDICATION_PERFINST
305                              DEFINES += -DPEGASUS_INDICATION_PERFINST
306                          endif
307                      
308                          ifdef PEGASUS_INDICATION_HASHTRACE
309                              DEFINES += -DPEGASUS_INDICATION_HASHTRACE
310                          endif
311 karl            1.60 endif
312                      
313 chuck           1.42 # compile in the experimental APIs
314 david.dillard   1.65 DEFINES += -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
315 chuck           1.42 
316 w.white         1.57 # Set compile flag to control compilation of CIMOM statistics
317 karl            1.73 ifdef PEGASUS_DISABLE_PERFINST
318                          FLAGS += -DPEGASUS_DISABLE_PERFINST
319 w.white         1.57 endif
320 kumpf           1.56 
321                      ############################################################
322                      #
323                      # Set any vendor-specific compile flags
324                      #
325                      ############################################################
326                      
327                      ifdef PEGASUS_VENDOR_HP
328 david.dillard   1.65     DEFINES+= -DPEGASUS_VENDOR_HP
329 kumpf           1.56 endif
330                      
331 chip            1.76 
332 karl            1.17 ############################################################
333                      #
334                      # Set up other Make Variables that depend on platform config files
335                      #
336                      ############################################################
337                      
338                      # This is temporary until we end up with a better place to
339                      # put this variable
340                      # Makefiles can do directory remove with
341                      # $(RMREPOSITORY) repositoryname
342                      #
343                      RMREPOSITORY = $(RMDIRHIER)
344                      
345 w.otsuka        1.63 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
346 david.dillard   1.65     FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
347 w.otsuka        1.62 endif
348                      
349                      ifdef PEGASUS_USE_RELEASE_DIRS
350 david.dillard   1.65     FLAGS += -DPEGASUS_USE_RELEASE_DIRS
351 w.otsuka        1.62 endif
352 mday            1.27 
353 kumpf           1.64 # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib
354                      ifndef PEGASUS_DEST_LIB_DIR
355 david.dillard   1.65     PEGASUS_DEST_LIB_DIR = lib
356 kumpf           1.64 endif
357 mday            1.28 
358 gs.keenan       1.77 ifeq ($(OS),VMS)
359                       DEFINES += -DPEGASUS_DEST_LIB_DIR="""$(PEGASUS_DEST_LIB_DIR)"""
360                      else
361                       DEFINES += -DPEGASUS_DEST_LIB_DIR=\"$(PEGASUS_DEST_LIB_DIR)\"
362                      endif
363                      
364 w.otsuka        1.79 ################################################################################
365                      ##
366                      ## Additional build flags passed in through environment variables.
367                      ## These flags are added to the compile/link commands.
368                      ##
369                      ################################################################################
370                      
371                      ifdef PEGASUS_EXTRA_CXX_FLAGS
372                          EXTRA_CXX_FLAGS = $(PEGASUS_EXTRA_CXX_FLAGS)
373                      endif
374                      
375                      ifdef PEGASUS_EXTRA_C_FLAGS
376                          EXTRA_C_FLAGS = $(PEGASUS_EXTRA_C_FLAGS)
377                      endif
378                      
379                      ifdef PEGASUS_EXTRA_LINK_FLAGS
380                          EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS)
381                      endif
382                      

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2