(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.20 and 1.50

version 1.20, 2004/06/25 16:45:24 version 1.50, 2008/12/02 09:00:01
Line 1 
Line 1 
   #//%LICENSE////////////////////////////////////////////////////////////////
   #//
   #// Licensed to The Open Group (TOG) under one or more contributor license
   #// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
   #// this work for additional information regarding copyright ownership.
   #// Each contributor licenses this file to you under the OpenPegasus Open
   #// Source License; you may not use this file except in compliance with the
   #// License.
   #//
   #// Permission is hereby granted, free of charge, to any person obtaining a
   #// copy of this software and associated documentation files (the "Software"),
   #// to deal in the Software without restriction, including without limitation
   #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
   #// and/or sell copies of the Software, and to permit persons to whom the
   #// Software is furnished to do so, subject to the following conditions:
   #//
   #// The above copyright notice and this permission notice shall be included
   #// in all copies or substantial portions of 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
       LINK_RPATH = -Xlinker -rpath
   endif
   
   LINK_DEST_LIB = -Xlinker $(PEGASUS_DEST_LIB_DIR)
   
   LINK_LIB_DIR = -Xlinker $(LIB_DIR)
   
   ifndef LINK_RPATH_LINK
       LINK_RPATH_LINK = -Xlinker -rpath-link
   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=.o)
 CPP_OBJECTS = $(TMP_OBJECTS:.cpp=.obj)  CPP_OBJECTS = $(S_OBJECTS:.cpp=.o)
 OBJECTS = $(CPP_OBJECTS:.c=.obj)  
 else  
 CPP_OBJECTS = $(TMP_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)
  
 ifdef PEGASUS_HAS_MESSAGES  ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
     ifdef ICU_ROOT      ifdef PEGASUS_USE_RELEASE_DIRS
         ifdef ICU_INSTALL          EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR)
           SYS_LIBS += -L${ICU_INSTALL}/lib -licui18n -licuuc      else
           EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_LIB_DIR)
         endif         endif
   
       ifdef ICU_INSTALL
           EXTRA_LINK_FLAGS += $(LINK_RPATH) -Xlinker ${ICU_INSTALL}/lib
     endif     endif
 endif endif
  
Line 31 
Line 72 
     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 42 
Line 87 
 ## 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) -L$(LIB_DIR) $(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_HAS_SSL  
                 ifdef PEGASUS_USE_SSL_SHAREDLIB  
                   ifdef  PEGASUS_USE_RELEASE_DIRS  
                     $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -Xlinker -rpath-link -Xlinker $(OPENSSL_HOME)/lib -Xlinker -rpath -Xlinker /usr/pegasus/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
                   else  
                     $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -Xlinker -rpath-link -Xlinker $(OPENSSL_HOME)/lib -Xlinker -rpath -Xlinker $(OPENSSL_HOME)/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
                   endif  
                 else  
                   ifdef  PEGASUS_USE_RELEASE_DIRS  
                     $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
                   else  
                     $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB _D IR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
                   endif  
                 endif  
               else               else
          ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
                 ifdef  PEGASUS_USE_RELEASE_DIRS                 ifdef  PEGASUS_USE_RELEASE_DIRS
                   $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)             ifdef PEGASUS_HAS_MESSAGES
                 else               ifdef ICU_INSTALL
                   $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_D IR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(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  
           endif           endif
         else         else
           ifdef PEGASUS_HAS_SSL               $(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)
             ifdef PEGASUS_USE_SSL_SHAREDLIB  
               ifdef  PEGASUS_USE_RELEASE_DIRS  
                 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath-link -Xlinker $(OPENSSL_HOME)/lib -Xlinker -rpath -Xlinker /usr/pegasus/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
               else  
                 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -Xlinker -rpath-link -Xlinker $(OPENSSL_HOME)/lib -Xlinker -rpath -Xlinker $(OPENSSL_HOME)/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
               endif               endif
             else             else
               ifdef  PEGASUS_USE_RELEASE_DIRS             $(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)
                 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath-link -Xlinker $(LIB DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
               else  
                 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
               endif  
             endif             endif
           else           else
             ifdef  PEGASUS_USE_RELEASE_DIRS          $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES)
                 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath-link -Xlinker $(LIB DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
             else  
                 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
             endif             endif
           endif           endif
         endif         endif
       else       else
        ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)          $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(EXE_OUTPUT) $(OBJECTS) $(FULL_LIBRARIES) $(SYS_LIBS) $(EXTRA_LIBRARIES)
          ifdef  PEGASUS_USE_RELEASE_DIRS  
            $(LINK_WRAPPER) $(CXX) -Wl,-brtl -blibpath:/usr/linux/lib:/usr/lib:/lib -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
          else  
            $(LINK_WRAPPER) $(CXX) -Wl,-brtl -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
          endif  
        else  
         $(LINK_WRAPPER) $(CXX) $(FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)  
        endif        endif
       endif  
      endif  
   
         $(TOUCH) $(FULL_PROGRAM)         $(TOUCH) $(FULL_PROGRAM)
         @ $(ECHO)  ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
 else          echo "#!/bin/bash" > $(VALGRIND_SCRIPT_BIN_DIR)/$(PROGRAM)$(EXE)
         $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXE_OUTPUT) $(OBJECTS) $(FULL_LIBRARIES) $(SYS_LIBS)          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 endif
         $(TOUCH) $(FULL_PROGRAM)  
         @ $(ECHO)         @ $(ECHO)
  
 include $(ROOT)/mak/objects.mak include $(ROOT)/mak/objects.mak


Legend:
Removed from v.1.20  
changed lines
  Added in v.1.50

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2