(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 mike            1.14 VALID_PLATFORMS = \
 48                          WIN32_IX86_MSVC \
 49                          LINUX_IX86_GNU \
 50 david.eger      1.32     LINUX_PPC_GNU \
 51 kumpf           1.19     LINUX_IA64_GNU \
 52 david.eger      1.33     LINUX_ZSERIES_GNU \
 53 mike            1.14     AIX_RS_IBMCXX \
 54                          HPUX_PARISC_ACC \
 55 kumpf           1.22     HPUX_IA64_ACC \
 56 mike            1.15     TRU64_ALPHA_DECCXX \
 57 mike            1.16     SOLARIS_SPARC_GNU \
 58 keith.petley    1.34     SOLARIS_SPARC_CC \
 59 mike            1.16     ZOS_ZSERIES_IBM \
 60 dudhe.girish    1.48     NSK_NONSTOP_NMCPLUS \
 61 david.dillard   1.65     DARWIN_PPC_GNU
 62 mike            1.8  
 63                      ifndef PEGASUS_PLATFORM
 64 david.dillard   1.65     $(error PEGASUS_PLATFORM environment variable undefined.  Please set to\
 65                              one of the following: $(VALID_PLATFORMS))
 66 mike            1.8  endif
 67                      
 68 mike            1.1  ################################################################################
 69                      
 70 kumpf           1.22 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
 71                      BIN_DIR = $(HOME_DIR)/bin
 72                      LIB_DIR = $(HOME_DIR)/lib
 73 chuck           1.35 
 74                      # l10n
 75                      # define the location for the compiled messages
 76                      MSG_ROOT = $(HOME_DIR)/msg
 77 kumpf           1.22 
 78                      # define the location for the repository
 79                      REPOSITORY_DIR = $(HOME_DIR)
 80                      REPOSITORY_ROOT = $(REPOSITORY_DIR)/repository
 81 mike            1.1  
 82 kumpf           1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
 83                      # are used to control the version of the CIM Schema 
 84                      # loaded into the Pegasus Internal, InterOp,
 85                      # root/cimv2 and various test namespaces.
 86                      #
 87                      # Update the following two environment variables to 
 88                      # change the version.
 89                      
 90 kumpf           1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
 91                      # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER 
 92                      # and ALLOW_EXPERIMENTAL.
 93                      #
 94                      # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
 95                      # files must be placed in the directory
 96                      # $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
 97                      # 
 98                      # The value of PEGASUS_CIM_SCHEMA must conform to the
 99                      # following syntax:
100                      #
101                      #        CIM[Prelim]<CIM_SCHEMA_VER>
102                      #
103                      # The string "Prelim" should be included if the 
104                      # Schema contains "Experimental" class definitions.
105                      #
106                      # The value of <CIM_SCHEMA_VER> must be the value
107                      # of the version string included by the DMTF as 
108                      # part of the mof file names (e.g, CIM_Core27.mof). 
109                      # Therefore, for example, the value of <CIM_SCHEMA_VER>
110                      # for CIM27 Schema directories MUST be 27.
111 kumpf           1.37 #
112                      # Examples of valid values of PEGASUS_CIM_SCHEMA 
113                      # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
114                      #
115                      # Note the CIMPrelim271 would NOT be a valid value
116                      # for PEGASUS_CIM_SCHEMA because the version string
117                      # portion of the mof files (e.g., CIM_Core27.mof) in
118                      # the CIMPrelimin271 directory is 27 not 271.
119 kumpf           1.23 
120 gerarda         1.29 # ***** CIM_SCHEMA_DIR INFO ****
121                      # If CIM_SCHEMA_DIR changes to use a preliminary schema which
122                      # has experimentals make sure and change the path below to appopriate
123                      # directory path.  Example:  CIMPrelim271 is preliminary and has
124                      # experimental classes.  Since experimental classes exist the -aE
125                      # option of the mof compiler needs to be set.
126                      # *****
127 kumpf           1.37 
128                      ifdef PEGASUS_CIM_SCHEMA
129 david.dillard   1.65     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
130                          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),)  
131                             CIM_SCHEMA_VER=
132                          else
133                             CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
134                          endif
135 kumpf           1.37 else
136 david.dillard   1.65     CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM28
137                          CIM_SCHEMA_VER=28
138 kumpf           1.37 endif
139                      
140                      ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
141 david.dillard   1.65     ALLOW_EXPERIMENTAL = -aE
142 gerarda         1.29 else
143 david.dillard   1.65     ALLOW_EXPERIMENTAL =
144 gerarda         1.29 endif
145                      
146 bob             1.5  LEX = flex
147                      
148 mike            1.8  ################################################################################
149                      ##
150 konrad.r        1.52 ## Default installation paths 
151                      ##
152                      ################################################################################
153                      
154                      ## Default values to install files when 'make install' is invoked.
155                      
156                      ifndef PREFIX
157 david.dillard   1.65     PREFIX=$(HOME_DIR)/install
158 konrad.r        1.52 endif
159                      
160                      ifndef SYSCONF_PREFIX
161 david.dillard   1.65     SYSCONF_PREFIX=$(PREFIX)/etc
162 konrad.r        1.52 endif
163                      
164                      ifndef LOCAL_STATE_PREFIX
165 david.dillard   1.65     LOCAL_STATE_PREFIX=$(PREFIX)/var/
166 konrad.r        1.52 endif
167                      
168                      ifndef DEST_LIB_DIR
169 david.dillard   1.65     DEST_LIB_DIR = $(PREFIX)/lib
170 konrad.r        1.52 endif
171                      
172                      ifndef DEST_BIN_DIR
173 david.dillard   1.65     DEST_BIN_DIR = $(PREFIX)/bin
174 konrad.r        1.52 endif
175                      
176                      ifndef DEST_SBIN_DIR
177 david.dillard   1.65     DEST_SBIN_DIR = $(PREFIX)/sbin
178 konrad.r        1.52 endif
179                      
180                      ifndef DEST_ETC_DIR
181 david.dillard   1.65     DEST_ETC_DIR = $(SYSCONF_PREFIX)/pegasus
182 konrad.r        1.52 endif
183                      
184                      ifndef DEST_MAN_DIR
185 david.dillard   1.65     DEST_MAN_DIR = $(PREFIX)/man
186 konrad.r        1.52 endif
187                      
188                      ifndef DEST_VAR_DIR
189 david.dillard   1.65     DEST_VAR_DIR = $(LOCAL_STATE_PREFIX)
190 konrad.r        1.52 endif
191                      
192                      ################################################################################
193                      ##
194 mike            1.8  ## Attempt to include a platform configuration file:
195                      ##
196                      ################################################################################
197                      
198 mike            1.9  ifeq ($(PEGASUS_PLATFORM),WIN32_IX86_MSVC)
199 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
200                          FOUND = true
201 mike            1.8  endif
202                      
203 mike            1.9  ifeq ($(PEGASUS_PLATFORM),LINUX_IX86_GNU)
204 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
205                          FOUND = true
206 david.eger      1.32 endif
207                      
208                      ifeq ($(PEGASUS_PLATFORM),LINUX_PPC_GNU)
209 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
210                          FOUND = true
211 kumpf           1.19 endif
212                      
213                      ifeq ($(PEGASUS_PLATFORM),LINUX_IA64_GNU)
214 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
215                          FOUND = true
216 david.eger      1.33 endif
217                      
218                      ifeq ($(PEGASUS_PLATFORM),LINUX_ZSERIES_GNU)
219 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
220                          FOUND = true
221 mike            1.12 endif
222                      
223                      ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
224 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
225                          FOUND = true
226 mike            1.13 endif
227                      
228                      ifeq ($(PEGASUS_PLATFORM),HPUX_PARISC_ACC)
229 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
230                          FOUND = true
231 kumpf           1.22 endif
232                      
233                      ifeq ($(PEGASUS_PLATFORM),HPUX_IA64_ACC)
234 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
235                          FOUND = true
236 mike            1.14 endif
237                      
238                      ifeq ($(PEGASUS_PLATFORM),TRU64_ALPHA_DECCXX)
239 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
240                          FOUND = true
241 mike            1.15 endif
242                      
243                      ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_GNU)
244 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
245                          FOUND = true
246 keith.petley    1.34 endif
247                      
248                      ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC)
249 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
250                          FOUND = true
251 mike            1.16 endif
252                      
253                      ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
254 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
255                          FOUND = true
256 mike            1.16 endif
257                      
258                      ifeq ($(PEGASUS_PLATFORM),NSK_NONSTOP_NMCPLUS)
259 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
260                          FOUND = true
261 dudhe.girish    1.48 endif
262                      
263                      ifeq ($(PEGASUS_PLATFORM),DARWIN_PPC_GNU)
264 david.dillard   1.65     include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
265                          FOUND = true
266 mike            1.8  endif
267                      
268                      ifneq ($(FOUND),true)
269 david.dillard   1.65   $(error  PEGASUS_PLATFORM environment variable must be set to one of\
270                              the following: $(VALID_PLATFORMS))
271 mike            1.8  endif
272 karl            1.17 
273 karl            1.36 ################################################################################
274                      ##
275 konrad.r        1.52 ## Default installation macros 
276                      ##
277                      ################################################################################
278                      
279                      ## INSTALL_LIB creates the destination directory if missing,
280                      ## copies the library and generates the symbolic link.
281                      
282                      ifndef INSTALL_LIBRARY
283 david.dillard   1.65     ## These macros are also defined in the Platform_<*>.mak files. 
284                          INSTALL_LIBRARY =  $(MKDIRHIER) $(DEST_LIB_DIR); $(COPY) $(FULL_LIB) $(DEST_LIB_DIR)
285 konrad.r        1.52 endif
286                      
287                      ## INSTALL_PROGRAM creates the destination directory if missing and
288                      ## copies the file.
289                      ifndef INSTALL_PROGRAM
290 david.dillard   1.65     INSTALL_PROGRAM = $(MKDIRHIER) $(DEST_BIN_DIR); $(COPY) $(FULL_PROGRAM) $(DEST_BIN_DIR)
291 konrad.r        1.52 endif
292                      ## INSTALL_PROGRAM creates the destination directory if missing and
293                      ## copies the file.
294                      ifndef INSTALL_SBIN_PROGRAM
295 david.dillard   1.65     INSTALL_SBIN_PROGRAM = $(MKDIRHIER) $(DEST_SBIN_DIR);  $(COPY) $(FULL_PROGRAM) $(DEST_SBIN_DIR)
296 konrad.r        1.52 endif
297                      ## The rest of the macros for DEST_MAN_DIR, DEST_VAR_DIR, etc. are not provided in this file.
298                      
299                      ################################################################################
300                      ##
301 karl            1.36 ##  Set up any platform independent compile conditionals by adding them to
302                      ##  precreated FLAGS parameter.
303                      ##  Assumes that the basic flags have been setup in FLAGS. 
304                      ##  Assumes that compile time flags are controlled with -D CLI option.
305                      ##
306                      ################################################################################
307 karl            1.17 
308 karl            1.36 # Setup the conditional compile for client displays.
309                      # 
310                      ifdef PEGASUS_CLIENT_TRACE_ENABLE
311 david.dillard   1.65     DEFINES += -DPEGASUS_CLIENT_TRACE_ENABLE
312 karl            1.36 endif
313                      
314 mday            1.40 # do not compile trace code. sometimes it causes problems debugging
315                      ifdef PEGASUS_REMOVE_TRACE
316 david.dillard   1.65     DEFINES += -DPEGASUS_REMOVE_TRACE
317 mday            1.40 endif
318                      
319 karl            1.43 # PEP 123 use monitor2 (the default) or not
320 dj.gorey        1.46 #ifdef PEGASUS_USE_23HTTPMONITOR_SERVER
321 david.dillard   1.65     DEFINES += -DPEGASUS_USE_23HTTPMONITOR_SERVER
322 dj.gorey        1.46 #endif
323 mday            1.40 
324 dj.gorey        1.45 #BUG 1170 Monitor2 Client Workaround
325 dj.gorey        1.46 #ifdef PEGASUS_USE_23HTTPMONITOR_CLIENT
326 david.dillard   1.65     DEFINES += -DPEGASUS_USE_23HTTPMONITOR_CLIENT
327 dj.gorey        1.46 #endif
328 dj.gorey        1.45 
329 chuck           1.47 # PEP 161
330                      # Control whether utf-8 filenames are supported by the repository
331                      ifdef PEGASUS_SUPPORT_UTF8_FILENAME
332 david.dillard   1.65     DEFINES += -DPEGASUS_SUPPORT_UTF8_FILENAME
333 chuck           1.47 
334 david.dillard   1.65     # Control whether utf-8 filenames in the repository are escaped
335                          ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
336                              DEFINES += -DPEGASUS_REPOSITORY_ESCAPE_UTF8
337                          endif
338 chuck           1.47 endif
339                      
340 kumpf           1.49 #
341                      # PEP 142
342                      # The following flag need to be set to enable
343                      # user group authorization functionality.
344                      #
345                      ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
346 david.dillard   1.65     DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
347 kumpf           1.49 endif
348                      
349                      
350 karl            1.39 # setup function to enable SLP functions in the Pegasus standard compile
351                      # Set the environment varaible PEGASUS_ENABLE_SLP to enable SLP code.  
352                      ifdef PEGASUS_ENABLE_SLP
353 david.dillard   1.65     DEFINES += -DPEGASUS_ENABLE_SLP
354 karl            1.39 endif
355 karl            1.36 
356 karl            1.60 # set PEGASUS_DEBUG into the DEFINES if it exists.
357                      # Note that this flag is the general separator between
358                      # debug compiles and non-debug compiles and controls both
359                      # the use of any debug options on compilers and linkers
360                      # and general debug support that we want to be turned on in
361                      # debug mode. 
362                      ifdef PEGASUS_DEBUG
363 david.dillard   1.65     DEFINES += -DPEGASUS_DEBUG
364 karl            1.60 endif
365                      
366 chuck           1.42 # compile in the experimental APIs
367 david.dillard   1.65 DEFINES += -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
368 chuck           1.42 
369 w.white         1.57 # Set compile flag to control compilation of CIMOM statistics
370                      ifdef PEGASUS_HAS_PERFINST
371 david.dillard   1.65     FLAGS += -DPEGASUS_HAS_PERFINST
372 w.white         1.57 endif
373 kumpf           1.56 
374                      ############################################################
375                      #
376                      # Set any vendor-specific compile flags
377                      #
378                      ############################################################
379                      
380                      ifdef PEGASUS_VENDOR_HP
381 david.dillard   1.65     DEFINES+= -DPEGASUS_VENDOR_HP
382 kumpf           1.56 endif
383                      
384 karl            1.36  
385 karl            1.17 ############################################################
386                      #
387                      # Set up other Make Variables that depend on platform config files
388                      #
389                      ############################################################
390                      
391                      # This is temporary until we end up with a better place to
392                      # put this variable
393                      # Makefiles can do directory remove with
394                      # $(RMREPOSITORY) repositoryname
395                      #
396                      RMREPOSITORY = $(RMDIRHIER)
397                      
398 w.otsuka        1.63 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
399 david.dillard   1.65     FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
400 w.otsuka        1.62 endif
401                      
402                      ifdef PEGASUS_USE_RELEASE_DIRS
403 david.dillard   1.65     FLAGS += -DPEGASUS_USE_RELEASE_DIRS
404 w.otsuka        1.62 endif
405 mday            1.27 
406 kumpf           1.64 # Unless otherwise specified, Pegasus libraries go in $(PEGASUS_HOME)/lib
407                      ifndef PEGASUS_DEST_LIB_DIR
408 david.dillard   1.65     PEGASUS_DEST_LIB_DIR = lib
409 kumpf           1.64 endif
410 mday            1.28 
411 kumpf           1.64 DEFINES += -DPEGASUS_DEST_LIB_DIR=\"$(PEGASUS_DEST_LIB_DIR)\"

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2