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

  1 martin 1.31 #//%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.31 #// 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 kv.le  1.30 INCLUDES = -I$(ROOT)/src $(EXTRA_INCLUDES)
 30             
 31             TMP_OBJECTS = $(foreach i,$(SOURCES),$(OBJ_DIR)/$i)
 32             
 33             ifeq ($(OS_TYPE),windows)
 34             CPP_OBJECTS = $(TMP_OBJECTS:.cpp=.obj)
 35             OBJECTS = $(CPP_OBJECTS:.c=.obj)
 36             else
 37             CPP_OBJECTS = $(TMP_OBJECTS:.cpp=.o)
 38             OBJECTS = $(CPP_OBJECTS:.c=.o)
 39             endif
 40             
 41             FULL_PROGRAM=$(BIN_DIR)/$(PROGRAM)$(EXE)
 42             
 43             EXE_OUTPUT = $(EXE_OUT) $(FULL_PROGRAM)
 44             
 45             ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
 46                 ifdef PEGASUS_HAS_MESSAGES
 47                     ifdef ICU_ROOT
 48                         ifdef ICU_INSTALL
 49                           FLAGS += -L${ICU_INSTALL}/lib
 50 kv.le  1.30 	      PRFLAGS += -L${ICU_INSTALL}/lib
 51             	      SYS_LIBS += ${ICU_INSTALL}/lib/libicui18n.x ${ICU_INSTALL}/lib/libicuuc.x
 52                         endif
 53                     endif
 54                 endif
 55             else
 56             ifdef PEGASUS_HAS_MESSAGES
 57                 ifdef ICU_ROOT
 58                     ifdef ICU_INSTALL
 59                       SYS_LIBS += -L${ICU_INSTALL}/lib -licui18n -licuuc
 60                     endif
 61                 endif
 62             endif
 63             endif
 64             
 65             ifdef PEGASUS_PURIFY
 66                 PUREOPTIONS = -follow-child-processes=yes -locking=no \
 67                     -always-use-cache-dir -cache-dir=$(PURIFY_TMP)/cache \
 68                     -view-file=$(PURIFY_TMP)/$(PROGRAM).pv \
 69                     -log-file=$(PURIFY_TMP)/$(PROGRAM).log
 70                 LINK_WRAPPER = $(PURIFY_HOME)/purify $(PUREOPTIONS)
 71 kv.le  1.30     SYS_LIBS += $(PURIFY_HOME)/libpurify_stubs.a
 72             endif
 73             
 74             $(FULL_PROGRAM): $(OBJ_DIR)/target $(BIN_DIR)/target $(OBJECTS) $(FULL_LIBRARIES) $(ERROR)
 75             ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes)
 76             
 77             ##
 78             ## build images with -l<name> syntax for needed shared libraries
 79             ## DYNAMIC_LIBRARIES is defined appropriately in libraries.mak and Makefile 
 80             ## files
 81             ##
 82             ## ICU_INSTALL - Specifies the directory path where the ICU lib directory is located.
 83             ##               This will set runtime library search path for ICU libraries to ${ICU_INSTALL}/lib
 84             ##               
 85                  ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
 86             	$(LINK_WRAPPER) $(CXX) $(PR_FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
 87                  else
 88                   ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
 89                     ifdef PEGASUS_HAS_MESSAGES  
 90                       ifdef ICU_ROOT
 91                         ifdef ICU_INSTALL
 92 kv.le  1.30               ifdef  PEGASUS_USE_RELEASE_DIRS
 93             	        $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
 94                           else
 95             	        $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
 96                           endif
 97                         endif
 98                       endif
 99                     else
100                       ifdef  PEGASUS_USE_RELEASE_DIRS
101             	    $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
102                       else
103             	    $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS) 
104                       endif
105                     endif      
106                   else
107                    ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
108                      ifdef  PEGASUS_USE_RELEASE_DIRS
109                        ifdef PEGASUS_HAS_MESSAGES
110                          ifdef ICU_ROOT
111                            ifdef ICU_INSTALL
112             	         $(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) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
113 kv.le  1.30                endif
114                          endif
115                        else
116             	     $(LINK_WRAPPER) $(CXX) -Wl,-brtl -blibpath:/usr/linux/lib:/usr/lib:/lib -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
117                        endif
118                      else
119             	   $(LINK_WRAPPER) $(CXX) -Wl,-brtl -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
120                      endif
121                    else
122             	$(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
123                    endif
124                   endif
125                  endif
126             
127             	$(TOUCH) $(FULL_PROGRAM)
128             	@ $(ECHO)
129             else
130             	$(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXTRA_LINK_FLAGS) $(EXE_OUTPUT) $(OBJECTS) $(FULL_LIBRARIES) $(SYS_LIBS)
131             endif
132             	$(TOUCH) $(FULL_PROGRAM)
133             	@ $(ECHO)
134 kv.le  1.30 
135             include $(ROOT)/mak/objects.mak
136             
137             FILES_TO_CLEAN = $(OBJECTS) $(FULL_PROGRAM)
138             
139             include $(ROOT)/mak/clean.mak
140             
141             -include $(ROOT)/mak/depend.mak
142             
143             include $(ROOT)/mak/build.mak
144             
145             include $(ROOT)/mak/sub.mak
146             
147             -include $(OBJ_DIR)/depend.mak
148             
149             include $(ROOT)/mak/misc.mak

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2