make.defs
上传用户:xqtpzdz
上传日期:2022-05-21
资源大小:1764k
文件大小:7k
源码类别:

xml/soap/webservice

开发平台:

Visual C++

  1. # Copyright 2004 Vocalocity, Inc.  All rights reserved.
  2. #
  3. # Makefile macros for SWI source code directories
  4. #  on i386-linux platform
  5. #
  6. # Copyright 2004 Vocalocity, Inc.
  7. # All Rights Reserved
  8. #
  9. #
  10. # Makefile macros for Vocalocity program source code directories
  11. #
  12. #
  13. SHELL = /bin/sh
  14. #----------------------------------------------------------------------
  15. # Platform Macros
  16. #----------------------------------------------------------------------
  17. OS=linux
  18. CPU=i386
  19. PLATFORM = $(CPU)-$(OS)
  20. MAKE_CPU = $(CPU)
  21. MAKE_OS = $(OS)
  22. PERL = $(shell which perl)
  23. ifndef MAKEFILE
  24. MAKEFILE = Makefile
  25. endif
  26. #----------------------------------------------------------------------
  27. # Directories
  28. #----------------------------------------------------------------------
  29. PWD := $(shell pwd)
  30. BUILD_ROOT := build
  31. BUILD_ROOT_PLT = $(BUILD_ROOT)/$(PLATFORM)
  32. BUILDDIR = $(BUILD_ROOT_PLT)/$(CFG)
  33. PLATFORMDIR = $(PROJ_ROOT)/$(PLATFORM)
  34. SRCPATH = $(PLATFORMDIR)/src
  35. #----------------------------------------------------------------------
  36. # SWISBSDK Install Directories
  37. #----------------------------------------------------------------------
  38. bindir = $(SWISBSDK)/bin
  39. libdir = $(SWISBSDK)/lib
  40. incdir = $(SWISBSDK)/include
  41. #----------------------------------------------------------------------
  42. # Build Area directories
  43. #----------------------------------------------------------------------
  44. buildbindir = $(BUILDDIR)/bin
  45. buildlibdir = $(BUILDDIR)/lib
  46. #----------------------------------------------------------------------
  47. # C/C++ compiler flags
  48. #----------------------------------------------------------------------
  49. CC = gcc
  50. CXX = g++
  51. CFLAGS_GENERAL = 
  52.       -D_$(CPU)_ 
  53.     -D_$(OS)_ 
  54.     -I$(PROJ_ROOT)/$(PLATFORM)/include 
  55.     -I$(PROJ_ROOT)/include 
  56.     -I$(SWISBSDK)/include 
  57. ANSIFLAGS = 
  58.       -pedantic 
  59.     -Wall 
  60.     -Wcast-qual 
  61.     -Wcast-align 
  62.     -Wmissing-prototypes 
  63.     -Wstrict-prototypes 
  64.     -Wtraditional
  65. C_ANSIFLAGS = $(ANSIFLAGS) -Wid-clash-31
  66. CXX_ANSIFLAGS = $(ANSIFLAGS)
  67. ifdef STRICT
  68. CFLAGS_GENERAL += $(ANSIFLAGS)
  69. endif
  70. # -g     debug symbols
  71. # -O0   No Optimization for debug
  72. # -fPIC  Generate Position Independant code
  73. CFLAGS_DEBUG = -g -O0 -fPIC
  74. # -s     strip symbols
  75. # -O2    Optimize for release
  76. # -fPIC  Generate Position Independant code
  77. CFLAGS_RELEASE = -DNDEBUG -s -O2 -fPIC
  78. #----------------------------------------------------------------------
  79. # Link Flags
  80. #----------------------------------------------------------------------
  81. LDFLAGS += -L$(buildlibdir) $(PROJ_LDFLAGS) $($(TARGET)_LDFLAGS) $(LDFLAGS_$(OS)) -L$(SWISBSDK)/lib
  82. LDFLAGS_SHARED = -shared
  83. LDLIBS += $($(TARGET)_LDLIBS)
  84. ifdef STATIC
  85. LDLIBS += $($(TARGET)_LDLIBS_STATIC)
  86. endif
  87. # With GCC 3.0.2, we have to link statically with both libstdc++.a and
  88. # libgcc.a and specify that we don't want the compiler to link with
  89. # the default libraries.
  90. ifeq ("$(EXTERNAL_BUILD)", "1")
  91. GCC_LIBS = -Wl,-Bstatic,-lstdc++,-lgcc,-Bdynamic -lc -lm -nodefaultlibs
  92. else
  93. GCC_LIBS = -lstdc++
  94. endif
  95. LDLIBS += $(GCC_LIBS)
  96. # Set defaults for the library version and product name burnt into
  97. # shared libraries
  98. ifndef LIBVER
  99. LIBVER = 3
  100. endif
  101. #LIBPROD = OSB
  102. LIBPROD = $(PRODUCT_LIB_PREFIX)
  103. #----------------------------------------------------------------------
  104. # General Programs
  105. #----------------------------------------------------------------------
  106. CHMOD = chmod
  107. CHMODFLAGS = go-w,a-x
  108. CHMODFLAGSX = go-w,a+x
  109. INSTALL = cp -p
  110. INSTALL_PROGRAM = $(INSTALL)
  111. INSTALL_DATA = $(INSTALL)
  112. MKDIRS = $(SWISBSDK)/src/make/i386-linux/mkinstalldirs
  113. RMDIR = rmdir
  114. RMCLEAN = rm -rf
  115. #----------------------------------------------------------------------
  116. # Set up macros for different config's
  117. #----------------------------------------------------------------------
  118. ifdef NOT_THREADED
  119. IS_THREADED=0
  120. else
  121. IS_THREADED=1
  122. endif
  123. ifeq ("$(IS_THREADED)","1")
  124. CFLAGS_GENERAL += -D__THREADED
  125. endif
  126. ifndef CFG
  127. CFG = debug
  128. $(message CFG not defined. Defaulting to debug.)
  129. endif
  130. ifeq ("$(CFG)","debug")
  131. CFG_SUFFIX = D
  132. CFLAGS_CFG = $(CFLAGS_DEBUG)
  133. else
  134. ifeq ("$(CFG)","release")
  135. CFG_SUFFIX =
  136. CFLAGS_CFG = $(CFLAGS_RELEASE)
  137. else
  138. $(error CFG is not a legal type - should be debug or release)
  139. endif
  140. endif
  141. #----------------------------------------------------------------------
  142. # Final Values
  143. #----------------------------------------------------------------------
  144. CFLAGS = $(CFLAGS_CFG) $(CFLAGS_GENERAL) $(MYCFLAGS)
  145. CXXFLAGS = $(CFLAGS_CFG) $(CFLAGS_GENERAL) $(MYCFLAGS)
  146. CPPFLAGS = $(PROJ_CFLAGS) $(CFLAGS_$(OS)) $($(TARGET)_CFLAGS)
  147. #----------------------------------------------------------------------
  148. # C/C++ Platform Specific Compiler Flags
  149. #----------------------------------------------------------------------
  150. CC = gcc
  151. CXX = g++
  152. #----------------------------------------------------------------------
  153. # ANSIFLAGS are blank unless you want the general make rules flags
  154. # Comment out these if you want the defaults. Add with += if needed
  155. #----------------------------------------------------------------------
  156. #ANSIFLAGS += 
  157. #C_ANSIFLAGS += 
  158. #----------------------------------------------------------------------
  159. # Add any Platform Specific CFLAGS 
  160. #----------------------------------------------------------------------
  161. CFLAGS_GENERAL += -D_SIMPLE_R 
  162.           -D_REENTRANT 
  163.           -D_GNU_SOURCE
  164. #----------------------------------------------------------------------
  165. # CPPFLAGS for any specific platform. Uncomment and add with +=
  166. #----------------------------------------------------------------------
  167. #CPPFLAGS +=
  168. #----------------------------------------------------------------------
  169. # Platform Specific Linker Flags
  170. #----------------------------------------------------------------------
  171. #----------------------------------------------------------------------
  172. # LDFLAGS - SWISBSDK/lib is already included. Add as necessary 
  173. #----------------------------------------------------------------------
  174. LDFLAGS += -Wl,-rpath-link=$(SWISBSDK)/lib:$(PROJ_RPATH_LINK)
  175. #----------------------------------------------------------------------
  176. # LDLIBS is set primarily in the Makefiles for the necessary linkage
  177. # Additional Platform specific if needed - rest are from main make.defs
  178. #----------------------------------------------------------------------
  179. LDLIBS += -lpthread -ldl
  180. #----------------------------------------------------------------------
  181. # Platform Specific INSTALL Program - default is the general make.defs
  182. # override with your own INSTALL if necessary (default is "cp -p")
  183. #----------------------------------------------------------------------