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

  1 martin 1.92 #//%2005////////////////////////////////////////////////////////////////////////
  2             #//
  3             #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4             #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5             #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6             #// IBM Corp.; EMC Corporation, The Open Group.
  7             #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8             #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9             #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10             #// EMC Corporation; VERITAS Software Corporation; The Open Group.
 11             #//
 12             #// Permission is hereby granted, free of charge, to any person obtaining a copy
 13             #// of this software and associated documentation files (the "Software"), to
 14             #// deal in the Software without restriction, including without limitation the
 15             #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 16             #// sell copies of the Software, and to permit persons to whom the Software is
 17             #// furnished to do so, subject to the following conditions:
 18             #// 
 19             #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 20             #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 21             #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 22 martin 1.92 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 23             #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 24             #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 25             #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 26             #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27             #//
 28             #//==============================================================================
 29 mike   1.1  ################################################################################
 30             ##
 31             ## Get external environment variables. Note that all external environment
 32             ## variables begin with "PEGASUS_".
 33             ##
 34             ################################################################################
 35             
 36 konrad.r 1.55 ifndef ROOT
 37                   ROOT =  $(subst \,/,$(PEGASUS_ROOT))
 38               endif
 39               
 40 denise.eckstein 1.61 ifdef PEGASUS_ENVVAR_FILE
 41 david.dillard   1.65     include $(PEGASUS_ENVVAR_FILE)
 42 denise.eckstein 1.61 else
 43 david.dillard   1.65     include $(ROOT)/env_var.status
 44 denise.eckstein 1.61 endif
 45 konrad.r        1.55 
 46 mike            1.2  ifdef PEGASUS_HOME
 47 david.dillard   1.65     HOME_DIR = $(subst \,/,$(PEGASUS_HOME))
 48 mike            1.1  else
 49 david.dillard   1.65     $(error PEGASUS_HOME environment variable undefined)
 50 mike            1.1  endif
 51                      
 52 karl            1.18 ifdef PEGASUS_ROOT
 53                          ROOT =  $(subst \,/,$(PEGASUS_ROOT))
 54                      else
 55 david.dillard   1.65     $(error PEGASUS_ROOT environment variable undefined)
 56 karl            1.18 endif
 57                      
 58 chuck           1.35 # l10n
 59                      ifdef ICU_ROOT
 60                          ICUROOT =  $(subst \,/,$(ICU_ROOT))
 61                      endif
 62                      
 63 kumpf           1.21 ifdef PEGASUS_TMP
 64 david.dillard   1.65     TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
 65 kumpf           1.21 else
 66 david.dillard   1.65     TMP_DIR = .
 67 kumpf           1.21 endif
 68                      
 69 kumpf           1.26 ifdef PEGASUS_DISPLAYCONSUMER_DIR
 70 david.dillard   1.65     DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_DISPLAYCONSUMER_DIR))
 71 kumpf           1.26 else
 72 david.dillard   1.65     DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_HOME))
 73 kumpf           1.26 endif
 74                      
 75 aruran.ms       1.102 ifdef PEGASUS_DEBUG
 76                            PEGASUS_USE_DEBUG_BUILD_OPTIONS = 1
 77                       endif
 78                       
 79 david.dillard   1.66  PLATFORM_FILES=$(wildcard $(ROOT)/mak/platform*.mak)
 80 karl            1.78  PLATFORM_TEMP=$(subst $(ROOT)/mak/platform_,, $(PLATFORM_FILES))
 81 jim.wunderlich  1.104 VALID_PLATFORMS=$(subst .mak,  , $(PLATFORM_TEMP))
 82 mike            1.8   
 83                       ifndef PEGASUS_PLATFORM
 84 david.dillard   1.66      $(error PEGASUS_PLATFORM environment variable undefined. Please set to\
 85                               one of the following:$(VALID_PLATFORMS))
 86 mike            1.8   endif
 87                       
 88 mike            1.1   ################################################################################
 89                       
 90 kumpf           1.22  OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
 91                       BIN_DIR = $(HOME_DIR)/bin
 92                       LIB_DIR = $(HOME_DIR)/lib
 93 chuck           1.35  
 94                       # l10n
 95                       # define the location for the compiled messages
 96                       MSG_ROOT = $(HOME_DIR)/msg
 97 kumpf           1.22  
 98 jim.wunderlich  1.90  #############################################################################
 99                       ##  The following REPOSITORY_XXX variables are only used within the 
100                       ## makefiles for building the repository (cimmofl) and running the tests. 
101                       ## They have no effect on CIMconfig initial startup configuration.
102                       
103                       #
104 kumpf           1.22  # define the location for the repository
105 jim.wunderlich  1.90  #
106                       # NOTE: There is another variable efined in many of the test makefiles
107                       # called REPOSITORYDIR. It is a local variable in each of those Makefiles
108                       # to localally control where the temporay small repository they 
109                       # build, use and then delete is located. Most of the time it is set to TMP_DIR.
110                       #
111 jim.wunderlich  1.91  
112 kumpf           1.22  REPOSITORY_DIR = $(HOME_DIR)
113 jim.wunderlich  1.90  
114                       #
115                       # WARNING: The REPOSITORY_NAME varible is not used by all the test, 
116                       # many of them are still hardcoded to "repository".  What this means
117                       # is that you can change the repository name and build it. But you 
118                       # cannot run the test without many of them failing
119                       #
120 jim.wunderlich  1.91  
121 jim.wunderlich  1.81  REPOSITORY_NAME = repository
122 jim.wunderlich  1.91  
123 jim.wunderlich  1.90  
124 jim.wunderlich  1.81  REPOSITORY_ROOT = $(REPOSITORY_DIR)/$(REPOSITORY_NAME)
125                       
126                       # define the repository mode 
127 h.sterling      1.89  #       XML = XML format
128                       #       BIN = Binary format
129 jim.wunderlich  1.81  #
130 jim.wunderlich  1.91  ifndef PEGASUS_REPOSITORY_MODE
131                          ## set to default value
132                          REPOSITORY_MODE = XML
133                       else 
134                          ## validate assigned value
135                          ifeq ($(PEGASUS_REPOSITORY_MODE),XML)
136                              REPOSITORY_MODE = XML
137                          else
138                            ifeq ($(PEGASUS_REPOSITORY_MODE),BIN)
139                             REPOSITORY_MODE = BIN
140                            else
141                             $(error PEGASUS_REPOSITORY_MODE ($(PEGASUS_REPOSITORY_MODE)) \
142                       		 is invalid. It must be set to either XML or BIN)
143                            endif
144                          endif
145 jim.wunderlich  1.90  endif
146                       
147 jim.wunderlich  1.91  
148 jim.wunderlich  1.90  ###########################################################################
149 mike            1.1   
150 kumpf           1.23  # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
151 chip            1.76  # are used to control the version of the CIM Schema
152 kumpf           1.23  # loaded into the Pegasus Internal, InterOp,
153                       # root/cimv2 and various test namespaces.
154                       #
155 chip            1.76  # Update the following two environment variables to
156 kumpf           1.23  # change the version.
157                       
158 kumpf           1.37  # The environment variable PEGASUS_CIM_SCHEMA can be used
159 chip            1.76  # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
160 kumpf           1.37  # and ALLOW_EXPERIMENTAL.
161                       #
162                       # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
163                       # files must be placed in the directory
164                       # $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
165 chip            1.76  #
166 kumpf           1.37  # The value of PEGASUS_CIM_SCHEMA must conform to the
167                       # following syntax:
168                       #
169                       #        CIM[Prelim]<CIM_SCHEMA_VER>
170                       #
171 chip            1.76  # The string "Prelim" should be included if the
172 kumpf           1.37  # Schema contains "Experimental" class definitions.
173                       #
174                       # The value of <CIM_SCHEMA_VER> must be the value
175 chip            1.76  # of the version string included by the DMTF as
176                       # part of the mof file names (e.g, CIM_Core27.mof).
177 kumpf           1.37  # Therefore, for example, the value of <CIM_SCHEMA_VER>
178                       # for CIM27 Schema directories MUST be 27.
179                       #
180 chip            1.76  # Examples of valid values of PEGASUS_CIM_SCHEMA
181 kumpf           1.37  # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
182                       #
183                       # Note the CIMPrelim271 would NOT be a valid value
184                       # for PEGASUS_CIM_SCHEMA because the version string
185                       # portion of the mof files (e.g., CIM_Core27.mof) in
186                       # the CIMPrelimin271 directory is 27 not 271.
187 kumpf           1.23  
188 gerarda         1.29  # ***** CIM_SCHEMA_DIR INFO ****
189                       # If CIM_SCHEMA_DIR changes to use a preliminary schema which
190                       # has experimentals make sure and change the path below to appopriate
191                       # directory path.  Example:  CIMPrelim271 is preliminary and has
192                       # experimental classes.  Since experimental classes exist the -aE
193                       # option of the mof compiler needs to be set.
194                       # *****
195 kumpf           1.37  
196                       ifdef PEGASUS_CIM_SCHEMA
197 david.dillard   1.65      CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
198 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),)
199 david.dillard   1.65         CIM_SCHEMA_VER=
200                           else
201                              CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
202                           endif
203 kumpf           1.37  else
204 a.dunfey        1.82      CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM29
205                           CIM_SCHEMA_VER=
206 kumpf           1.37  endif
207                       
208                       ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
209 david.dillard   1.65      ALLOW_EXPERIMENTAL = -aE
210 gerarda         1.29  else
211 david.dillard   1.65      ALLOW_EXPERIMENTAL =
212 gerarda         1.29  endif
213                       
214 bob             1.5   LEX = flex
215                       
216 jim.wunderlich  1.94  ## ======================================================================
217                       ##
218                       ## PEGASUS_ENABLE_SORTED_DIFF 
219                       ## This controls if the DIFFSORT function is used rather than a simple DIFF of
220                       ##  of the test results files to the static results file.
221                       ##
222                       ##   Set to "true" enables the sorted diffs of results to static results files.
223                       ##   otherwise results in regular diffs of results to static results files.
224                       ##   see bug 2283 for background information concerning this config variable. 
225                       ##
226                       ##  Defaults to true.
227                       ##
228                       ##
229                       ifndef PEGASUS_ENABLE_SORTED_DIFF
230                       PEGASUS_ENABLE_SORTED_DIFF=true
231                       endif
232                       
233 jim.wunderlich  1.86  ## ========================================================================
234                       ## DIFFSORT function definition 
235                       ## Here is an example using the DIFFSORT function:
236                       ## 
237                       ## difftest: FORCE
238 h.sterling      1.89  ##      @ test > result
239 jim.wunderlich  1.86  ##      @ $(call DIFFSORT,result,standard_result)
240 h.sterling      1.89  ##      @ $(ECHO) +++++ all test passed
241 jim.wunderlich  1.86  ##
242                       
243                       define NL
244                       
245                       
246                       endef
247                       
248 marek           1.107 ifndef FORCE_NOCASE	    
249                       	    
250 jim.wunderlich  1.86  DIFFSORT = $(SORT) $(1) > $(1).tmp $(NL) \
251                       $(SORT) $(2) > $(2).tmp $(NL) \
252                       $(DIFF) $(1).tmp $(2).tmp $(NL) \
253                       $(RM) -f $(1).tmp $(NL) \
254                       $(RM) -f $(2).tmp $(NL)
255                       
256 marek           1.107 else
257                       
258                       DIFFSORT = $(SORT) -f $(1) > $(1).tmp $(NL) \
259                       $(SORT) -f $(2) > $(2).tmp $(NL) \
260                       $(DIFF) -i $(1).tmp $(2).tmp $(NL) \
261                       $(RM) -f $(1).tmp $(NL) \
262                       $(RM) -f $(2).tmp $(NL)
263                       
264                       endif
265                       
266                       DIFFSORTNOCASE = $(SORT) $(1) > $(1).tmp $(NL) \
267                       $(SORT) $(2) > $(2).tmp $(NL) \
268                       $(DIFF) -i $(1).tmp $(2).tmp $(NL) \
269                       $(RM) -f $(1).tmp $(NL) \
270                       $(RM) -f $(2).tmp $(NL)
271                       
272 jim.wunderlich  1.104 #
273                       # The following is used to define the usage message for MakeFile
274                       #
275                       # See the pegasus/Makfile for an exampleof its usage.
276                       #
277                       USAGE = @$(ECHO) " $(1)"
278                       
279 mike            1.8   ################################################################################
280                       ##
281                       ## Attempt to include a platform configuration file:
282                       ##
283                       ################################################################################
284                       
285 david.dillard   1.66  PLATFORM_FILE = $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
286                       ifneq ($(wildcard $(PLATFORM_FILE)), )
287                           include $(PLATFORM_FILE)
288                       else
289 david.dillard   1.65    $(error  PEGASUS_PLATFORM environment variable must be set to one of\
290 david.dillard   1.66          the following:$(VALID_PLATFORMS))
291 mike            1.8   endif
292 karl            1.17  
293 karl            1.36  ################################################################################
294                       ##
295                       ##  Set up any platform independent compile conditionals by adding them to
296                       ##  precreated FLAGS parameter.
297 chip            1.76  ##  Assumes that the basic flags have been setup in FLAGS.
298 karl            1.36  ##  Assumes that compile time flags are controlled with -D CLI option.
299                       ##
300                       ################################################################################
301 karl            1.17  
302 jim.wunderlich  1.97  
303                       ################################################################################
304                       ##
305                       ## PEGASUS_MAX_THREADS_PER_SVC_QUEUE
306                       ##
307                       ## Controls the maximum number of threads allowed per message service queue.
308                       ##     It is allowed to range between 1 and MAX_THREADS_PER_SVC_QUEUE_LIMIT
309 kumpf           1.103 ##     as set in pegasus/src/Pegasus/Common/MessageQueueService.cpp.  If the
310                       ##     specified value is out of range, MAX_THREADS_PER_SVC_QUEUE_LIMIT is
311                       ##     used.  The default value is MAX_THREADS_PER_SVC_QUEUE_DEFAULT, as
312                       ##     defined in pegasus/src/Pegasus/Common/MessageQueueService.cpp.
313 jim.wunderlich  1.98  ##
314                       ##	Label					Current value
315                       ##	--------------------------------------  -------------
316                       ##      MAX_THREADS_PER_SVC_QUEUE_LIMIT	        5000
317                       ##      MAX_THREADS_PER_SVC_QUEUE_DEFAULT       5
318 jim.wunderlich  1.97  ##
319                       ##
320                       
321                       ifdef PEGASUS_MAX_THREADS_PER_SVC_QUEUE
322                         DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE)
323                       endif
324                       
325 jim.wunderlich  1.99  ##############################################################################
326                       ## 
327                       ## PEGASUS_INDICATIONS_Q_THRESHOLD
328                       ##
329                       ## Controls if indications providers are stalled if the indications
330                       ## service queue is too large.
331                       ##
332 jim.wunderlich  1.100 ##      defaults to not set.
333 jim.wunderlich  1.99  ##
334                       ## 	It can be set to any positive value.
335                       ##
336 jim.wunderlich  1.100 ## If not set providers are never stalled. This implies that the
337 jim.wunderlich  1.99  ## indications service queue may become as large as neccesary to hold all
338                       ## the indicaitons generated.
339                       ##
340 jim.wunderlich  1.100 ## If set to any value then providers are stalled by forcing them to sleep
341 jim.wunderlich  1.99  ## when they try to deliver an indication and the indications service queue
342                       ## exceeds this value. They are resumed when the queue count falls 10 percent
343                       ## below this value. 
344                       ##
345                       ## Stall and resume log entries are made to inform the administrator
346                       ## the condition has occured.
347                       ##
348                       ## WARNING: This also affects the Out of Process Providers (OOP Providers)
349                       ##    The OOP Providers use two one way pipes for communication.
350                       ##    By stalling the Provider this prevents the pipe from being read
351                       ##    which will cause the pipe to fill up and the remote side will block.
352                       ##    OOP Prividers mix indications and operations on these two pipes.
353                       ##    This means the operations will also be blocked as a side effect of
354                       ##    the indications being stalled.
355                       ##    
356                       ##
357                       
358                       ifdef PEGASUS_INDICATIONS_Q_THRESHOLD
359                         DEFINES += -DPEGASUS_INDICATIONS_Q_THRESHOLD=$(PEGASUS_INDICATIONS_Q_THRESHOLD)
360                       endif
361                       
362 jim.wunderlich  1.97  
363 karl            1.36  # Setup the conditional compile for client displays.
364 chip            1.76  #
365 karl            1.36  ifdef PEGASUS_CLIENT_TRACE_ENABLE
366 david.dillard   1.65      DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE
367 karl            1.36  endif
368                       
369 kumpf           1.87  # Allow PEGASUS_ASSERT statements to be disabled.
370                       ifdef PEGASUS_NOASSERTS
371                           DEFINES += -DNDEBUG
372                       endif
373                       
374 mday            1.40  # do not compile trace code. sometimes it causes problems debugging
375                       ifdef PEGASUS_REMOVE_TRACE
376 david.dillard   1.65      DEFINES += -DPEGASUS_REMOVE_TRACE
377 mday            1.40  endif
378                       
379 chuck           1.47  # PEP 161
380                       # Control whether utf-8 filenames are supported by the repository
381                       ifdef PEGASUS_SUPPORT_UTF8_FILENAME
382 david.dillard   1.65      DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME
383 chuck           1.47  
384 david.dillard   1.65      # Control whether utf-8 filenames in the repository are escaped
385                           ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
386                               DEFINES += -DPEGASUS_REPOSITORY_ESCAPE_UTF8
387                           endif
388 chuck           1.47  endif
389                       
390 kumpf           1.49  #
391                       # PEP 142
392                       # The following flag need to be set to enable
393                       # user group authorization functionality.
394                       #
395                       ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
396 david.dillard   1.65      DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
397 kumpf           1.49  endif
398                       
399 chuck           1.67  #
400                       # PEP 193
401                       # The following flag need to be set to disable
402                       # CQL in indication subscriptions
403                       #
404                       ifdef PEGASUS_DISABLE_CQL
405                           DEFINES += -DPEGASUS_DISABLE_CQL
406                       endif
407                       
408 kumpf           1.68  #
409                       # PEP 186
410                       # Allow override of product name/version/status.  A file
411                       # pegasus/src/Pegasus/Common/ProductVersion.h must exist when this
412                       # flag is defined.
413                       #
414                       ifdef PEGASUS_OVERRIDE_PRODUCT_ID
415                           DEFINES += -DPEGASUS_OVERRIDE_PRODUCT_ID
416                       endif
417                       
418 kumpf           1.71  #
419 kumpf           1.106 # PEP 72
420                       # Allow Out-of-Process Providers to be disabled by default
421                       #
422 jim.wunderlich  1.113 ifdef PEGASUS_DEFAULT_ENABLE_OOP
423                         ifeq ($(PEGASUS_DEFAULT_ENABLE_OOP),true)
424                           DEFINES += -DPEGASUS_DEFAULT_ENABLE_OOP
425 jim.wunderlich  1.111   else
426 jim.wunderlich  1.113     ifneq ($(PEGASUS_DEFAULT_ENABLE_OOP),false)
427                             $(error PEGASUS_DEFAULT_ENABLE_OOP ($(PEGASUS_DEFAULT_ENABLE_OOP)) invalid, must be true or false)
428 jim.wunderlich  1.111     endif 
429                         endif
430 kumpf           1.106 endif
431                       
432                       #
433 kumpf           1.71  # PEP 197
434                       # Allow the Provider User Context feature to be disabled.
435                       #
436 kumpf           1.74  ifdef PEGASUS_DISABLE_PROV_USERCTXT
437 kumpf           1.71      DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT
438 kumpf           1.74  else
439                           ifdef PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
440                               DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
441                           endif
442                           ifdef PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
443                               DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
444                           endif
445                           ifdef PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
446                               DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
447                           endif
448                           ifdef PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
449                               DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
450                           endif
451                       endif
452 kumpf           1.71  
453 h.sterling      1.89  # Bug 2147
454                       # Allow local domain socket usage to be disabled.
455                       ifdef PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
456                           DEFINES += -DPEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
457                       endif
458                       
459 chip            1.76  # PEP 211
460                       # Controls object normalization support.
461                       ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
462                           DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION
463                       endif
464                       
465 a.dunfey        1.113.2.1 # PEP 233
466                           # Controls support for EmbeddedInstance properties
467                           # and parameters
468                           ifndef PEGASUS_DISABLE_EMBEDDED_INSTANCES
469                               DEFINES += -DPEGASUS_EMBEDDED_INSTANCE_SUPPORT
470                           endif
471                           
472 kumpf           1.80      # Allow ExecQuery functionality to be enabled
473                           ifndef PEGASUS_ENABLE_EXECQUERY
474                               DEFINES += -DPEGASUS_DISABLE_EXECQUERY
475                           endif
476                           
477 yi.zhou         1.85      # Allow System Log Handler to be enabled
478                           ifdef PEGASUS_ENABLE_SYSTEM_LOG_HANDLER
479                             DEFINES += -DPEGASUS_ENABLE_SYSTEM_LOG_HANDLER
480                           endif
481                           
482                           # Allow Email Handler to be enabled
483                           ifdef PEGASUS_ENABLE_EMAIL_HANDLER
484                             DEFINES += -DPEGASUS_ENABLE_EMAIL_HANDLER
485                           endif
486 kumpf           1.49      
487 h.sterling      1.109     # Allow qualifiers to be disabled for instance operations
488                           ifdef PEGASUS_DISABLE_INSTANCE_QUALIFIERS
489                             DEFINES += -DPEGASUS_DISABLE_INSTANCE_QUALIFIERS
490                           endif
491                           
492 yi.zhou         1.108     # Controls snmp indication handler to use NET-SNMP to deliver trap
493                           ifdef PEGASUS_USE_NET_SNMP
494                             DEFINES += -DPEGASUS_USE_NET_SNMP
495                           endif
496                           
497 jim.wunderlich  1.101     #
498                           # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP
499                           #
500 jim.wunderlich  1.112     # PEGASUS_DISABLE_SLP has been depracated. New use model is:
501 jim.wunderlich  1.101     #
502 jim.wunderlich  1.112     # Use PEGASUS_ENABLE_SLP=true  to enable  compilation of SLP functions.
503                           #
504                           # Use PEGASUS_ENABLE_SLP=false to disable compilation of SLP functions. 
505 jim.wunderlich  1.101     #
506                           # Currently (Aug. 12, 2005) Windows is the only platform that enables SLP 
507                           # by default.
508                           #
509                           # NOTE. Effective with Bug # 2633 some platforms enable SLP.
510 karl            1.75      # To see which platforms look for platform make files that set
511 jim.wunderlich  1.101     # the variable PEGASUS_ENABLE_SLP. 
512                           #
513                           #
514 jim.wunderlich  1.112     
515 karl            1.39      ifdef PEGASUS_ENABLE_SLP
516 jim.wunderlich  1.101       ifdef PEGASUS_DISABLE_SLP
517                               $(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set)
518                             endif
519 jim.wunderlich  1.112     endif
520                           
521                           ifdef PEGASUS_DISABLE_SLP
522                               $(error PEGASUS_DISABLE_SLP has been deprecated. Please use PEGASUS_ENABLE_SLP=[true/false] )
523                           
524                           PEGASUS_ENABLE_SLP=false
525                           
526                           endif
527                           
528                           ifdef PEGASUS_ENABLE_SLP
529                             ifeq ($(PEGASUS_ENABLE_SLP),true)
530 david.dillard   1.65          DEFINES += -DPEGASUS_ENABLE_SLP
531 jim.wunderlich  1.112       else
532                               ifneq ($(PEGASUS_ENABLE_SLP),false)
533                                 $(error PEGASUS_ENABLE_SLP ($(PEGASUS_ENABLE_SLP)) invalid, must be true or false)
534                               endif 
535                             endif
536 karl            1.39      endif
537 karl            1.36      
538 karl            1.60      # set PEGASUS_DEBUG into the DEFINES if it exists.
539                           # Note that this flag is the general separator between
540                           # debug compiles and non-debug compiles and controls both
541                           # the use of any debug options on compilers and linkers
542                           # and general debug support that we want to be turned on in
543 chip            1.76      # debug mode.
544 karl            1.60      ifdef PEGASUS_DEBUG
545 david.dillard   1.65          DEFINES += -DPEGASUS_DEBUG
546 kumpf           1.88      
547                               # Indications debugging options
548                               ifdef PEGASUS_INDICATION_PERFINST
549                                   DEFINES += -DPEGASUS_INDICATION_PERFINST
550                               endif
551                           
552                               ifdef PEGASUS_INDICATION_HASHTRACE
553                                   DEFINES += -DPEGASUS_INDICATION_HASHTRACE
554                               endif
555 karl            1.60      endif
556                           
557 chuck           1.42      # compile in the experimental APIs
558 david.dillard   1.65      DEFINES += -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
559 chuck           1.42      
560 kumpf           1.93      # Ensure that the deprecated interfaces are defined in the Pegasus libraries.
561                           # One may wish to disable these interfaces if binary compatibility with
562                           # previous Pegasus releases is not required.
563                           ifndef PEGASUS_DISABLE_DEPRECATED_INTERFACES
564                               DEFINES += -DPEGASUS_USE_DEPRECATED_INTERFACES
565                           endif
566                           
567 w.white         1.57      # Set compile flag to control compilation of CIMOM statistics
568 karl            1.73      ifdef PEGASUS_DISABLE_PERFINST
569                               FLAGS += -DPEGASUS_DISABLE_PERFINST
570 w.white         1.57      endif
571 kumpf           1.56      
572 karl            1.96      # Set compile flag to control compilation of SNIA Extensions
573                           ifdef PEGASUS_SNIA_EXTENSIONS
574                               FLAGS += -DPEGASUS_SNIA_EXTENSIONS
575                           endif
576                           
577 kumpf           1.95      # Allow remote CMPI functionality to be enabled
578                           ifdef PEGASUS_ENABLE_REMOTE_CMPI
579                               FLAGS += -DPEGASUS_ENABLE_REMOTE_CMPI
580                           endif
581                           
582 kumpf           1.56      ############################################################
583                           #
584                           # Set any vendor-specific compile flags
585                           #
586                           ############################################################
587                           
588                           ifdef PEGASUS_VENDOR_HP
589 david.dillard   1.65          DEFINES+= -DPEGASUS_VENDOR_HP
590 kumpf           1.56      endif
591                           
592 chip            1.76      
593 karl            1.17      ############################################################
594                           #
595                           # Set up other Make Variables that depend on platform config files
596                           #
597                           ############################################################
598                           
599                           # This is temporary until we end up with a better place to
600                           # put this variable
601                           # Makefiles can do directory remove with
602                           # $(RMREPOSITORY) repositoryname
603                           #
604                           RMREPOSITORY = $(RMDIRHIER)
605                           
606 w.otsuka        1.63      ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
607 david.dillard   1.65          FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
608 w.otsuka        1.62      endif
609                           
610                           ifdef PEGASUS_USE_RELEASE_DIRS
611 david.dillard   1.65          FLAGS += -DPEGASUS_USE_RELEASE_DIRS
612 w.otsuka        1.62      endif
613 mday            1.27      
614 denise.eckstein 1.110     ifdef PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
615                               FLAGS += -DPEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS
616                           endif
617                           
618 kumpf           1.64      # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib
619                           ifndef PEGASUS_DEST_LIB_DIR
620 david.dillard   1.65          PEGASUS_DEST_LIB_DIR = lib
621 kumpf           1.64      endif
622 mday            1.28      
623 gs.keenan       1.77      ifeq ($(OS),VMS)
624                            DEFINES += -DPEGASUS_DEST_LIB_DIR="""$(PEGASUS_DEST_LIB_DIR)"""
625                           else
626                            DEFINES += -DPEGASUS_DEST_LIB_DIR=\"$(PEGASUS_DEST_LIB_DIR)\"
627                           endif
628                           
629 w.otsuka        1.79      ################################################################################
630                           ##
631 mike            1.105     ## PEGASUS_CLASS_CACHE_SIZE
632                           ##
633                           ##     This environment variable gives the size of the class cache used by
634                           ##     the CIM repository. When it is undefined, the size defaults to something
635                           ##     relatively small (see src/Pegasus/Repository/CIMRepository.cpp). If
636                           ##     defined, it gives the size of the class cache. If it is 0 , the class
637                           ##     cache is not defined compiled in at all.
638                           ##
639                           ################################################################################
640                           
641                           ifdef PEGASUS_CLASS_CACHE_SIZE
642                           DEFINES += -DPEGASUS_CLASS_CACHE_SIZE=$(PEGASUS_CLASS_CACHE_SIZE)
643                           endif
644                           
645                           ################################################################################
646                           ##
647 w.otsuka        1.79      ## Additional build flags passed in through environment variables.
648                           ## These flags are added to the compile/link commands.
649                           ##
650                           ################################################################################
651                           
652                           ifdef PEGASUS_EXTRA_CXX_FLAGS
653                               EXTRA_CXX_FLAGS = $(PEGASUS_EXTRA_CXX_FLAGS)
654                           endif
655                           
656                           ifdef PEGASUS_EXTRA_C_FLAGS
657                               EXTRA_C_FLAGS = $(PEGASUS_EXTRA_C_FLAGS)
658                           endif
659                           
660                           ifdef PEGASUS_EXTRA_LINK_FLAGS
661                               EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS)
662                           endif
663                           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2