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

Diff for /pegasus/mak/program-unix.mak between version 1.35 and 1.51

version 1.35, 2007/01/16 20:17:35 version 1.51, 2008/12/09 19:11:21
Line 1 
Line 1 
 #//%2006////////////////////////////////////////////////////////////////////////  #//%LICENSE////////////////////////////////////////////////////////////////
 #// #//
 #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development  #// Licensed to The Open Group (TOG) under one or more contributor license
 #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.  #// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;  #// this work for additional information regarding copyright ownership.
 #// IBM Corp.; EMC Corporation, The Open Group.  #// Each contributor licenses this file to you under the OpenPegasus Open
 #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;  #// Source License; you may not use this file except in compliance with the
 #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.  #// License.
 #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 #// EMC Corporation; VERITAS Software Corporation; The Open Group.  
 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 #// EMC Corporation; Symantec Corporation; The Open Group.  
 #// #//
 #// Permission is hereby granted, free of charge, to any person obtaining a copy  #// Permission is hereby granted, free of charge, to any person obtaining a
 #// of this software and associated documentation files (the "Software"), to  #// copy of this software and associated documentation files (the "Software"),
 #// deal in the Software without restriction, including without limitation the  #// to deal in the Software without restriction, including without limitation
 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 #// sell copies of the Software, and to permit persons to whom the Software is  #// and/or sell copies of the Software, and to permit persons to whom the
 #// furnished to do so, subject to the following conditions:  #// Software is furnished to do so, subject to the following conditions:
 #// #//
 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  #// The above copyright notice and this permission notice shall be included
 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  #// in all copies or substantial portions of the Software.
 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  
 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  
 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  
 #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  
 #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  
 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  
 #// #//
 #//==============================================================================  #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   #//
   #//////////////////////////////////////////////////////////////////////////
 INCLUDES = -I$(ROOT)/src $(EXTRA_INCLUDES) INCLUDES = -I$(ROOT)/src $(EXTRA_INCLUDES)
  
 ifndef LINK_RPATH ifndef LINK_RPATH
Line 38 
Line 36 
  
 LINK_LIB_DIR = -Xlinker $(LIB_DIR) LINK_LIB_DIR = -Xlinker $(LIB_DIR)
  
 LINK_ICU = -Xlinker ${ICU_INSTALL}/lib  
   
 ifndef LINK_RPATH_LINK ifndef LINK_RPATH_LINK
     LINK_RPATH_LINK = -Xlinker -rpath-link     LINK_RPATH_LINK = -Xlinker -rpath-link
 endif endif
  
  
   
 TMP_OBJECTS = $(foreach i,$(SOURCES),$(OBJ_DIR)/$i) TMP_OBJECTS = $(foreach i,$(SOURCES),$(OBJ_DIR)/$i)
  
 ifeq ($(OS_TYPE),windows)  
 S_OBJECTS = $(TMP_OBJECTS:.s=.obj)  
 CPP_OBJECTS = $(S_OBJECTS:.cpp=.obj)  
 OBJECTS = $(CPP_OBJECTS:.c=.obj)  
 else  
 S_OBJECTS = $(TMP_OBJECTS:.s=.o) S_OBJECTS = $(TMP_OBJECTS:.s=.o)
 CPP_OBJECTS = $(S_OBJECTS:.cpp=.o) CPP_OBJECTS = $(S_OBJECTS:.cpp=.o)
 OBJECTS = $(CPP_OBJECTS:.c=.o) OBJECTS = $(CPP_OBJECTS:.c=.o)
 endif  
  
 FULL_PROGRAM=$(BIN_DIR)/$(PROGRAM)$(EXE) FULL_PROGRAM=$(BIN_DIR)/$(PROGRAM)$(EXE)
  
 EXE_OUTPUT = $(EXE_OUT) $(FULL_PROGRAM) EXE_OUTPUT = $(EXE_OUT) $(FULL_PROGRAM)
  
 ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)  ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
     ifdef PEGASUS_HAS_MESSAGES      ifdef PEGASUS_USE_RELEASE_DIRS
         ifdef ICU_ROOT          EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR)
             ifdef ICU_INSTALL  
               FLAGS += -L${ICU_INSTALL}/lib  
               PRFLAGS += -L${ICU_INSTALL}/lib  
               SYS_LIBS += ${ICU_INSTALL}/lib/libicui18n.x ${ICU_INSTALL}/lib/libicuuc.x  
             endif  
         endif  
     endif  
 else else
 ifdef PEGASUS_HAS_MESSAGES          EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_LIB_DIR)
     ifdef ICU_ROOT  
         ifdef ICU_INSTALL  
           SYS_LIBS += -L${ICU_INSTALL}/lib -licui18n -licuuc  
         endif         endif
   
       ifeq ($(HAS_ICU_DEPENDENCY),true)
           ifdef ICU_INSTALL
               EXTRA_LINK_FLAGS += $(LINK_RPATH) -Xlinker ${ICU_INSTALL}/lib
     endif     endif
 endif endif
 endif endif
Line 91 
Line 74 
     SYS_LIBS += $(PURIFY_HOME)/libpurify_stubs.a     SYS_LIBS += $(PURIFY_HOME)/libpurify_stubs.a
 endif endif
  
   ifeq ($(PEGASUS_PLATFORM),PASE_ISERIES_IBMCXX)
     FLAGS += -Wl,-brtl -Wl,-bhalt:$(AIX_LD_HALT)
   endif
   
 $(FULL_PROGRAM): $(OBJ_DIR)/target $(BIN_DIR)/target $(OBJECTS) $(FULL_LIBRARIES) $(ERROR) $(FULL_PROGRAM): $(OBJ_DIR)/target $(BIN_DIR)/target $(OBJECTS) $(FULL_LIBRARIES) $(ERROR)
 ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes) ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes)
  
Line 102 
Line 89 
 ## ICU_INSTALL - Specifies the directory path where the ICU lib directory is located. ## ICU_INSTALL - Specifies the directory path where the ICU lib directory is located.
 ##               This will set runtime library search path for ICU libraries to ${ICU_INSTALL}/lib ##               This will set runtime library search path for ICU libraries to ${ICU_INSTALL}/lib
 ## ##
      ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)       ifeq ($(OS),zos)
         $(LINK_WRAPPER) $(CXX) $(PR_FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)          $(LINK_WRAPPER) $(CXX) $(PR_FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES) > $(PROGRAM).llst
           @ $(ZIP) -a -m $(FULL_PROGRAM).llst.zip $(PROGRAM).llst
      else      else
       ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU       ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
         ifdef PEGASUS_HAS_MESSAGES          $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES)
           ifdef ICU_ROOT  
             ifdef ICU_INSTALL  
               ifdef  PEGASUS_USE_RELEASE_DIRS  
                 $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR) $(LINK_RPATH) $(LINK_ICU) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
               else  
                 $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_RPATH) $(LINK_LIB_DIR) $(LINK_RPATH) $(LINK_ICU) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
               endif  
             endif  
           endif  
         else  
           ifdef  PEGASUS_USE_RELEASE_DIRS  
             $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
           else  
             $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(LINK_RPATH) $(LINK_LIB_DIR) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
           endif  
         endif  
       else       else
        ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)        ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
          ifdef  PEGASUS_USE_RELEASE_DIRS          ifdef  PEGASUS_USE_RELEASE_DIRS
            ifdef PEGASUS_HAS_MESSAGES            ifdef PEGASUS_HAS_MESSAGES
              ifdef ICU_ROOT  
                ifdef ICU_INSTALL                ifdef ICU_INSTALL
                  $(LINK_WRAPPER) $(CXX) -Wl,-brtl -blibpath:/usr/linux/lib:/usr/lib:/lib:$(ICU_INSTALL)/lib -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)                 $(LINK_WRAPPER) $(CXX) -Wl,-brtl -blibpath:/usr/lib:/lib:$(ICU_INSTALL)/lib -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES)
                endif  
              endif              endif
            else            else
              $(LINK_WRAPPER) $(CXX) -Wl,-brtl -blibpath:/usr/linux/lib:/usr/lib:/lib -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)               $(LINK_WRAPPER) $(CXX) -Wl,-brtl -blibpath:/usr/lib:/lib -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES)
            endif            endif
          else          else
            $(LINK_WRAPPER) $(CXX) -Wl,-brtl -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)             $(LINK_WRAPPER) $(CXX) -Wl,-brtl -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES)
          endif          endif
        else        else
         $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)          $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES)
        endif        endif
       endif       endif
      endif      endif
   
         $(TOUCH) $(FULL_PROGRAM)  
         @ $(ECHO)  
 else else
         $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(EXTRA_LIBRARIES) $(EXE_OUTPUT) $(OBJECTS) $(FULL_LIBRARIES) $(SYS_LIBS)          $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(EXE_OUTPUT) $(OBJECTS) $(FULL_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES)
 endif endif
         $(TOUCH) $(FULL_PROGRAM)         $(TOUCH) $(FULL_PROGRAM)
   ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
           echo "#!/bin/bash" > $(VALGRIND_SCRIPT_BIN_DIR)/$(PROGRAM)$(EXE)
           echo -e "valgrind --log-file=$(PEGASUS_TEST_VALGRIND_LOG_DIR)/$(PROGRAM) --num-callers=25 --tool=memcheck --leak-check=full --error-limit=no $(FULL_PROGRAM) \x24@" >> $(VALGRIND_SCRIPT_BIN_DIR)/$(PROGRAM)$(EXE)
           chmod 755 $(VALGRIND_SCRIPT_BIN_DIR)/$(PROGRAM)$(EXE)
   endif
         @ $(ECHO)         @ $(ECHO)
  
 include $(ROOT)/mak/objects.mak include $(ROOT)/mak/objects.mak


Legend:
Removed from v.1.35  
changed lines
  Added in v.1.51

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2