(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 david.dillard   1.66 PLATFORM_FILES=$(wildcard $(ROOT)/mak/platform*.mak)
 76 karl            1.78 PLATFORM_TEMP=$(subst $(ROOT)/mak/platform_,, $(PLATFORM_FILES))
 77                      VALID_PLATFORMS=$(subst .mak,, $(PLATFORM_TEMP))
 78 mike            1.8  
 79                      ifndef PEGASUS_PLATFORM
 80 david.dillard   1.66     $(error PEGASUS_PLATFORM environment variable undefined. Please set to\
 81                              one of the following:$(VALID_PLATFORMS))
 82 mike            1.8  endif
 83                      
 84 mike            1.1  ################################################################################
 85                      
 86 kumpf           1.22 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
 87                      BIN_DIR = $(HOME_DIR)/bin
 88                      LIB_DIR = $(HOME_DIR)/lib
 89 chuck           1.35 
 90                      # l10n
 91                      # define the location for the compiled messages
 92                      MSG_ROOT = $(HOME_DIR)/msg
 93 kumpf           1.22 
 94 jim.wunderlich  1.90 #############################################################################
 95                      ##  The following REPOSITORY_XXX variables are only used within the 
 96                      ## makefiles for building the repository (cimmofl) and running the tests. 
 97                      ## They have no effect on CIMconfig initial startup configuration.
 98                      
 99                      #
100 kumpf           1.22 # define the location for the repository
101 jim.wunderlich  1.90 #
102                      # NOTE: There is another variable efined in many of the test makefiles
103                      # called REPOSITORYDIR. It is a local variable in each of those Makefiles
104                      # to localally control where the temporay small repository they 
105                      # build, use and then delete is located. Most of the time it is set to TMP_DIR.
106                      #
107 jim.wunderlich  1.91 
108 kumpf           1.22 REPOSITORY_DIR = $(HOME_DIR)
109 jim.wunderlich  1.90 
110                      #
111                      # WARNING: The REPOSITORY_NAME varible is not used by all the test, 
112                      # many of them are still hardcoded to "repository".  What this means
113                      # is that you can change the repository name and build it. But you 
114                      # cannot run the test without many of them failing
115                      #
116 jim.wunderlich  1.91 
117 jim.wunderlich  1.81 REPOSITORY_NAME = repository
118 jim.wunderlich  1.91 
119 jim.wunderlich  1.90 
120 jim.wunderlich  1.81 REPOSITORY_ROOT = $(REPOSITORY_DIR)/$(REPOSITORY_NAME)
121                      
122                      # define the repository mode 
123 h.sterling      1.89 #       XML = XML format
124                      #       BIN = Binary format
125 jim.wunderlich  1.81 #
126 jim.wunderlich  1.91 ifndef PEGASUS_REPOSITORY_MODE
127                         ## set to default value
128                         REPOSITORY_MODE = XML
129                      else 
130                         ## validate assigned value
131                         ifeq ($(PEGASUS_REPOSITORY_MODE),XML)
132                             REPOSITORY_MODE = XML
133                         else
134                           ifeq ($(PEGASUS_REPOSITORY_MODE),BIN)
135                            REPOSITORY_MODE = BIN
136                           else
137                            $(error PEGASUS_REPOSITORY_MODE ($(PEGASUS_REPOSITORY_MODE)) \
138                      		 is invalid. It must be set to either XML or BIN)
139                           endif
140                         endif
141 jim.wunderlich  1.90 endif
142                      
143 jim.wunderlich  1.91 
144 jim.wunderlich  1.90 ###########################################################################
145 mike            1.1  
146 kumpf           1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
147 chip            1.76 # are used to control the version of the CIM Schema
148 kumpf           1.23 # loaded into the Pegasus Internal, InterOp,
149                      # root/cimv2 and various test namespaces.
150                      #
151 chip            1.76 # Update the following two environment variables to
152 kumpf           1.23 # change the version.
153                      
154 kumpf           1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
155 chip            1.76 # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
156 kumpf           1.37 # and ALLOW_EXPERIMENTAL.
157                      #
158                      # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
159                      # files must be placed in the directory
160                      # $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
161 chip            1.76 #
162 kumpf           1.37 # The value of PEGASUS_CIM_SCHEMA must conform to the
163                      # following syntax:
164                      #
165                      #        CIM[Prelim]<CIM_SCHEMA_VER>
166                      #
167 chip            1.76 # The string "Prelim" should be included if the
168 kumpf           1.37 # Schema contains "Experimental" class definitions.
169                      #
170                      # The value of <CIM_SCHEMA_VER> must be the value
171 chip            1.76 # of the version string included by the DMTF as
172                      # part of the mof file names (e.g, CIM_Core27.mof).
173 kumpf           1.37 # Therefore, for example, the value of <CIM_SCHEMA_VER>
174                      # for CIM27 Schema directories MUST be 27.
175                      #
176 chip            1.76 # Examples of valid values of PEGASUS_CIM_SCHEMA
177 kumpf           1.37 # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
178                      #
179                      # Note the CIMPrelim271 would NOT be a valid value
180                      # for PEGASUS_CIM_SCHEMA because the version string
181                      # portion of the mof files (e.g., CIM_Core27.mof) in
182                      # the CIMPrelimin271 directory is 27 not 271.
183 kumpf           1.23 
184 gerarda         1.29 # ***** CIM_SCHEMA_DIR INFO ****
185                      # If CIM_SCHEMA_DIR changes to use a preliminary schema which
186                      # has experimentals make sure and change the path below to appopriate
187                      # directory path.  Example:  CIMPrelim271 is preliminary and has
188                      # experimental classes.  Since experimental classes exist the -aE
189                      # option of the mof compiler needs to be set.
190                      # *****
191 kumpf           1.37 
192                      ifdef PEGASUS_CIM_SCHEMA
193 david.dillard   1.65     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
194 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),)
195 david.dillard   1.65        CIM_SCHEMA_VER=
196                          else
197                             CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
198                          endif
199 kumpf           1.37 else
200 a.dunfey        1.82     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM29
201                          CIM_SCHEMA_VER=
202 kumpf           1.37 endif
203                      
204                      ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
205 david.dillard   1.65     ALLOW_EXPERIMENTAL = -aE
206 gerarda         1.29 else
207 david.dillard   1.65     ALLOW_EXPERIMENTAL =
208 gerarda         1.29 endif
209                      
210 bob             1.5  LEX = flex
211                      
212 jim.wunderlich  1.94 ## ======================================================================
213                      ##
214                      ## PEGASUS_ENABLE_SORTED_DIFF 
215                      ## This controls if the DIFFSORT function is used rather than a simple DIFF of
216                      ##  of the test results files to the static results file.
217                      ##
218                      ##   Set to "true" enables the sorted diffs of results to static results files.
219                      ##   otherwise results in regular diffs of results to static results files.
220                      ##   see bug 2283 for background information concerning this config variable. 
221                      ##
222                      ##  Defaults to true.
223                      ##
224                      ##
225                      ifndef PEGASUS_ENABLE_SORTED_DIFF
226                      PEGASUS_ENABLE_SORTED_DIFF=true
227                      endif
228                      
229 jim.wunderlich  1.86 ## ========================================================================
230                      ## DIFFSORT function definition 
231                      ## Here is an example using the DIFFSORT function:
232                      ## 
233                      ## difftest: FORCE
234 h.sterling      1.89 ##      @ test > result
235 jim.wunderlich  1.86 ##      @ $(call DIFFSORT,result,standard_result)
236 h.sterling      1.89 ##      @ $(ECHO) +++++ all test passed
237 jim.wunderlich  1.86 ##
238                      
239                      define NL
240                      
241                      
242                      endef
243                      
244                      DIFFSORT = $(SORT) $(1) > $(1).tmp $(NL) \
245                      $(SORT) $(2) > $(2).tmp $(NL) \
246                      $(DIFF) $(1).tmp $(2).tmp $(NL) \
247                      $(RM) -f $(1).tmp $(NL) \
248                      $(RM) -f $(2).tmp $(NL)
249                      
250 mike            1.8  ################################################################################
251                      ##
252                      ## Attempt to include a platform configuration file:
253                      ##
254                      ################################################################################
255                      
256 david.dillard   1.66 PLATFORM_FILE = $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
257                      ifneq ($(wildcard $(PLATFORM_FILE)), )
258                          include $(PLATFORM_FILE)
259                      else
260 david.dillard   1.65   $(error  PEGASUS_PLATFORM environment variable must be set to one of\
261 david.dillard   1.66         the following:$(VALID_PLATFORMS))
262 mike            1.8  endif
263 karl            1.17 
264 karl            1.36 ################################################################################
265                      ##
266                      ##  Set up any platform independent compile conditionals by adding them to
267                      ##  precreated FLAGS parameter.
268 chip            1.76 ##  Assumes that the basic flags have been setup in FLAGS.
269 karl            1.36 ##  Assumes that compile time flags are controlled with -D CLI option.
270                      ##
271                      ################################################################################
272 karl            1.17 
273 jim.wunderlich  1.97 
274                      ################################################################################
275                      ##
276                      ## PEGASUS_MAX_THREADS_PER_SVC_QUEUE
277                      ##
278                      ## Controls the maximum number of threads allowed per message service queue.
279                      ##     It is allowed to range between 1 and MAX_THREADS_PER_SVC_QUEUE_LIMIT
280                      ##     as set in pegasus/src/Pegasus/Common/MessageQueueService.cpp. 
281                      ##
282                      ##      defaults to 0 (zero)
283                      ##
284 jim.wunderlich  1.98 ##      if set to 0 (zero) 
285                      ##	 then the max threads per service queue is 
286                      ##            set to MAX_THREADS_PER_SVC_QUEUE_DEFAULT.
287                      ##      if set larger than MAX_THREADS_PER_SVC_QUEUE_LIMIT 
288                      ##        then the max threads per service queue is
289                      ##            set to MAX_THREADS_PER_SVC_QUEUE_LIMIT.
290                      ##
291                      ##	Label					Current value
292                      ##	--------------------------------------  -------------
293                      ##      MAX_THREADS_PER_SVC_QUEUE_LIMIT	        5000
294                      ##      MAX_THREADS_PER_SVC_QUEUE_DEFAULT       5
295 jim.wunderlich  1.97 ##
296                      ##
297                      
298                      ifdef PEGASUS_MAX_THREADS_PER_SVC_QUEUE
299                        DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=$(PEGASUS_MAX_THREADS_PER_SVC_QUEUE)
300                      else
301                        DEFINES += -DMAX_THREADS_PER_SVC_QUEUE=0
302                      endif
303                      
304 jim.wunderlich  1.99 ##############################################################################
305                      ## 
306                      ## PEGASUS_INDICATIONS_Q_THRESHOLD
307                      ##
308                      ## Controls if indications providers are stalled if the indications
309                      ## service queue is too large.
310                      ##
311 jim.wunderlich  1.100 ##      defaults to not set.
312 jim.wunderlich  1.99  ##
313                       ## 	It can be set to any positive value.
314                       ##
315 jim.wunderlich  1.100 ## If not set providers are never stalled. This implies that the
316 jim.wunderlich  1.99  ## indications service queue may become as large as neccesary to hold all
317                       ## the indicaitons generated.
318                       ##
319 jim.wunderlich  1.100 ## If set to any value then providers are stalled by forcing them to sleep
320 jim.wunderlich  1.99  ## when they try to deliver an indication and the indications service queue
321                       ## exceeds this value. They are resumed when the queue count falls 10 percent
322                       ## below this value. 
323                       ##
324                       ## Stall and resume log entries are made to inform the administrator
325                       ## the condition has occured.
326                       ##
327                       ## WARNING: This also affects the Out of Process Providers (OOP Providers)
328                       ##    The OOP Providers use two one way pipes for communication.
329                       ##    By stalling the Provider this prevents the pipe from being read
330                       ##    which will cause the pipe to fill up and the remote side will block.
331                       ##    OOP Prividers mix indications and operations on these two pipes.
332                       ##    This means the operations will also be blocked as a side effect of
333                       ##    the indications being stalled.
334                       ##    
335                       ##
336                       
337                       ifdef PEGASUS_INDICATIONS_Q_THRESHOLD
338                         DEFINES += -DPEGASUS_INDICATIONS_Q_THRESHOLD=$(PEGASUS_INDICATIONS_Q_THRESHOLD)
339                       endif
340                       
341 jim.wunderlich  1.97  
342 karl            1.36  # Setup the conditional compile for client displays.
343 chip            1.76  #
344 karl            1.36  ifdef PEGASUS_CLIENT_TRACE_ENABLE
345 david.dillard   1.65      DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE
346 karl            1.36  endif
347                       
348 kumpf           1.87  # Allow PEGASUS_ASSERT statements to be disabled.
349                       ifdef PEGASUS_NOASSERTS
350                           DEFINES += -DNDEBUG
351                       endif
352                       
353 mday            1.40  # do not compile trace code. sometimes it causes problems debugging
354                       ifdef PEGASUS_REMOVE_TRACE
355 david.dillard   1.65      DEFINES += -DPEGASUS_REMOVE_TRACE
356 mday            1.40  endif
357                       
358 chuck           1.47  # PEP 161
359                       # Control whether utf-8 filenames are supported by the repository
360                       ifdef PEGASUS_SUPPORT_UTF8_FILENAME
361 david.dillard   1.65      DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME
362 chuck           1.47  
363 david.dillard   1.65      # Control whether utf-8 filenames in the repository are escaped
364                           ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
365                               DEFINES += -DPEGASUS_REPOSITORY_ESCAPE_UTF8
366                           endif
367 chuck           1.47  endif
368                       
369 kumpf           1.49  #
370                       # PEP 142
371                       # The following flag need to be set to enable
372                       # user group authorization functionality.
373                       #
374                       ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
375 david.dillard   1.65      DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
376 kumpf           1.49  endif
377                       
378 chuck           1.67  #
379                       # PEP 193
380                       # The following flag need to be set to disable
381                       # CQL in indication subscriptions
382                       #
383                       ifdef PEGASUS_DISABLE_CQL
384                           DEFINES += -DPEGASUS_DISABLE_CQL
385                       endif
386                       
387 kumpf           1.68  #
388                       # PEP 186
389                       # Allow override of product name/version/status.  A file
390                       # pegasus/src/Pegasus/Common/ProductVersion.h must exist when this
391                       # flag is defined.
392                       #
393                       ifdef PEGASUS_OVERRIDE_PRODUCT_ID
394                           DEFINES += -DPEGASUS_OVERRIDE_PRODUCT_ID
395                       endif
396                       
397 kumpf           1.71  #
398                       # PEP 197
399                       # Allow the Provider User Context feature to be disabled.
400                       #
401 kumpf           1.74  ifdef PEGASUS_DISABLE_PROV_USERCTXT
402 kumpf           1.71      DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT
403 kumpf           1.74  else
404                           ifdef PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
405                               DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR
406                           endif
407                           ifdef PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
408                               DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED
409                           endif
410                           ifdef PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
411                               DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED
412                           endif
413                           ifdef PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
414                               DEFINES += -DPEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER
415                           endif
416                       endif
417 kumpf           1.71  
418 h.sterling      1.89  # Bug 2147
419                       # Allow local domain socket usage to be disabled.
420                       ifdef PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
421                           DEFINES += -DPEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET
422                       endif
423                       
424 chip            1.76  # PEP 211
425                       # Controls object normalization support.
426                       ifdef PEGASUS_ENABLE_OBJECT_NORMALIZATION
427                           DEFINES += -DPEGASUS_ENABLE_OBJECT_NORMALIZATION
428                       endif
429                       
430 kumpf           1.80  # Allow ExecQuery functionality to be enabled
431                       ifndef PEGASUS_ENABLE_EXECQUERY
432                           DEFINES += -DPEGASUS_DISABLE_EXECQUERY
433                       endif
434                       
435 yi.zhou         1.85  # Allow System Log Handler to be enabled
436                       ifdef PEGASUS_ENABLE_SYSTEM_LOG_HANDLER
437                         DEFINES += -DPEGASUS_ENABLE_SYSTEM_LOG_HANDLER
438                       endif
439                       
440                       # Allow Email Handler to be enabled
441                       ifdef PEGASUS_ENABLE_EMAIL_HANDLER
442                         DEFINES += -DPEGASUS_ENABLE_EMAIL_HANDLER
443                       endif
444 kumpf           1.49  
445 jim.wunderlich  1.101 #
446                       # PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP
447                       #
448                       # Use PEGASUS_ENABLE_SLP to enable SLP functions in the Pegasus standard
449                       # compile on those platforms that do not enable it by default.
450                       #
451                       # Use PEGASUS_DISABLE_SLP to disable SLP on those platforms that enable
452                       # it by default. 
453                       #
454                       # Currently (Aug. 12, 2005) Windows is the only platform that enables SLP 
455                       # by default.
456                       #
457                       # NOTE. Effective with Bug # 2633 some platforms enable SLP.
458 karl            1.75  # To see which platforms look for platform make files that set
459 jim.wunderlich  1.101 # the variable PEGASUS_ENABLE_SLP. 
460                       #
461                       #
462 karl            1.39  ifdef PEGASUS_ENABLE_SLP
463 jim.wunderlich  1.101   ifdef PEGASUS_DISABLE_SLP
464                           $(error Conflicting defines PEGASUS_ENABLE_SLP and PEGASUS_DISABLE_SLP both set)
465                         endif
466 david.dillard   1.65      DEFINES += -DPEGASUS_ENABLE_SLP
467 karl            1.39  endif
468 karl            1.36  
469 karl            1.60  # set PEGASUS_DEBUG into the DEFINES if it exists.
470                       # Note that this flag is the general separator between
471                       # debug compiles and non-debug compiles and controls both
472                       # the use of any debug options on compilers and linkers
473                       # and general debug support that we want to be turned on in
474 chip            1.76  # debug mode.
475 karl            1.60  ifdef PEGASUS_DEBUG
476 david.dillard   1.65      DEFINES += -DPEGASUS_DEBUG
477 kumpf           1.88  
478                           # Indications debugging options
479                           ifdef PEGASUS_INDICATION_PERFINST
480                               DEFINES += -DPEGASUS_INDICATION_PERFINST
481                           endif
482                       
483                           ifdef PEGASUS_INDICATION_HASHTRACE
484                               DEFINES += -DPEGASUS_INDICATION_HASHTRACE
485                           endif
486 karl            1.60  endif
487                       
488 chuck           1.42  # compile in the experimental APIs
489 david.dillard   1.65  DEFINES += -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
490 chuck           1.42  
491 kumpf           1.93  # Ensure that the deprecated interfaces are defined in the Pegasus libraries.
492                       # One may wish to disable these interfaces if binary compatibility with
493                       # previous Pegasus releases is not required.
494                       ifndef PEGASUS_DISABLE_DEPRECATED_INTERFACES
495                           DEFINES += -DPEGASUS_USE_DEPRECATED_INTERFACES
496                       endif
497                       
498 w.white         1.57  # Set compile flag to control compilation of CIMOM statistics
499 karl            1.73  ifdef PEGASUS_DISABLE_PERFINST
500                           FLAGS += -DPEGASUS_DISABLE_PERFINST
501 w.white         1.57  endif
502 kumpf           1.56  
503 karl            1.96  # Set compile flag to control compilation of SNIA Extensions
504                       ifdef PEGASUS_SNIA_EXTENSIONS
505                           FLAGS += -DPEGASUS_SNIA_EXTENSIONS
506                       endif
507                       
508 kumpf           1.95  # Allow remote CMPI functionality to be enabled
509                       ifdef PEGASUS_ENABLE_REMOTE_CMPI
510                           FLAGS += -DPEGASUS_ENABLE_REMOTE_CMPI
511                       endif
512                       
513 kumpf           1.56  ############################################################
514                       #
515                       # Set any vendor-specific compile flags
516                       #
517                       ############################################################
518                       
519                       ifdef PEGASUS_VENDOR_HP
520 david.dillard   1.65      DEFINES+= -DPEGASUS_VENDOR_HP
521 kumpf           1.56  endif
522                       
523 chip            1.76  
524 karl            1.17  ############################################################
525                       #
526                       # Set up other Make Variables that depend on platform config files
527                       #
528                       ############################################################
529                       
530                       # This is temporary until we end up with a better place to
531                       # put this variable
532                       # Makefiles can do directory remove with
533                       # $(RMREPOSITORY) repositoryname
534                       #
535                       RMREPOSITORY = $(RMDIRHIER)
536                       
537 w.otsuka        1.63  ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
538 david.dillard   1.65      FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
539 w.otsuka        1.62  endif
540                       
541                       ifdef PEGASUS_USE_RELEASE_DIRS
542 david.dillard   1.65      FLAGS += -DPEGASUS_USE_RELEASE_DIRS
543 w.otsuka        1.62  endif
544 mday            1.27  
545 kumpf           1.64  # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib
546                       ifndef PEGASUS_DEST_LIB_DIR
547 david.dillard   1.65      PEGASUS_DEST_LIB_DIR = lib
548 kumpf           1.64  endif
549 mday            1.28  
550 gs.keenan       1.77  ifeq ($(OS),VMS)
551                        DEFINES += -DPEGASUS_DEST_LIB_DIR="""$(PEGASUS_DEST_LIB_DIR)"""
552                       else
553                        DEFINES += -DPEGASUS_DEST_LIB_DIR=\"$(PEGASUS_DEST_LIB_DIR)\"
554                       endif
555                       
556 w.otsuka        1.79  ################################################################################
557                       ##
558                       ## Additional build flags passed in through environment variables.
559                       ## These flags are added to the compile/link commands.
560                       ##
561                       ################################################################################
562                       
563                       ifdef PEGASUS_EXTRA_CXX_FLAGS
564                           EXTRA_CXX_FLAGS = $(PEGASUS_EXTRA_CXX_FLAGS)
565                       endif
566                       
567                       ifdef PEGASUS_EXTRA_C_FLAGS
568                           EXTRA_C_FLAGS = $(PEGASUS_EXTRA_C_FLAGS)
569                       endif
570                       
571                       ifdef PEGASUS_EXTRA_LINK_FLAGS
572                           EXTRA_LINK_FLAGS = $(PEGASUS_EXTRA_LINK_FLAGS)
573                       endif
574                       

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2