Makefile.osarch
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:5k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1. # $Id: Makefile.osarch,v 1.9 2001/07/03 18:09:56 bko Exp $
  2. ######################################################################
  3. # these options are NECESSARY options for a give operating system or
  4. # architecture.  If they could or should be turned off, they shouldn't
  5. # be here (or they should be wrapped in if code that is controllable
  6. # by Makefile.opt).
  7. ############################## FreeBSD ##############################
  8. # recent FreeBSDs (as of 6/1999) should have a sufficiently modern
  9. # version of ecgs to build this code cleanly with the default c++
  10. # compiler, but the releases generally don't.  install the ecgs
  11. # port/package for older versions.
  12. ifeq ($(OSTYPE),FreeBSD)
  13.     USE_LIBGETOPT = 1
  14.     USE_R_WRAPPER = 1
  15. endif
  16. ############################## Linux ##############################
  17. ifeq ($(OSTYPE),Linux)
  18.     CXXFLAGS += -D_REENTRANT
  19.     CFLAGS   += -D_REENTRANT
  20.     LDLIBS_LAST   += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
  21. endif
  22. ############################## Solaris ##############################
  23. ifeq ($(OSTYPE),SunOS)
  24.     USE_LIBGETOPT = 1
  25.     CFLAGS += -DSUNXIL_WARNING_DISABLE
  26.     CXXFLAGS += -DSUNXIL_WARNING_DISABLE
  27.     ifeq ($(VOCAL_TOOLCHAIN_TYPE),gnu)
  28.         CXXFLAGS += -D_REENTRANT
  29.         CFLAGS   += -D_REENTRANT
  30.         LDLIBS_LAST_PURE   += -lnsl -lsocket -nodefaultlibs -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -lc -lgcc -lm
  31.         LDLIBS_LAST   += -R/usr/local/lib -lnsl -lsocket
  32. # you may also need to override the version of AR to use GNU ar
  33.         ifneq ($(VOCAL_AR_PATH),)
  34.             AR = $(VOCAL_AR_PATH)
  35.         endif
  36.     else
  37.         CXXFLAGS += -D_REENTRANT -mt -D_RWSTD_MULTI_THREAD -dalign -xarch=v8plus
  38.         CFLAGS   += -D_REENTRANT -xarch=v8plus
  39.         LDFLAGS  +=  -DTHREAD=MULTI -mt  -dalign -xarch=v8plus -L/opt/SUNWspro/WS6/lib/rw7 -L/opt/SUNWspro/WS6/lib/ 
  40.         LDLIBS_LAST_PURE   += -lnsl -lsocket -lm
  41.         LDLIBS_LAST   += -lrwtool -liostream -lnsl -lsocket -lCstd
  42.         ifeq ($(USE_VARARG_HACK),1)
  43.             CFLAGS+= -DVARARG_HACK
  44.             CXXFLAGS+= -DVARARG_HACK
  45.             FILEPP = $(HOME)/filepp-1.2.0/filepp
  46.         endif
  47.     endif
  48. endif
  49. ifeq ($(OSTYPE),cygwin)
  50.     USE_LIBGETOPT = 1
  51. CFLAGS += -I$(ROOT)/contrib/win32/mingw/include -I$(ROOT)/contrib/win32/pthreads
  52. CXXFLAGS += -I$(ROOT)/contrib/win32/mingw/include -I$(ROOT)/contrib/win32/pthreads
  53. endif
  54. ifeq ($(VOCAL_PROCESSOR_OPTS),1)
  55.     ifeq ($(ARCH),i686)
  56.         CXXFLAGS += -march=i686
  57.         CFLAGS += -march=i686
  58.         LDFLAGS  +=
  59.         LDLIBS  +=
  60.     endif
  61. endif
  62. # set up general compilation options
  63. LDFLAGS  += 
  64. CXXFLAGS += -DUSE_PTHREADS
  65. CFLAGS   += -DUSE_PTHREADS
  66. LDLIBS   +=
  67. INCDIRS  += $(BUILD)
  68. ######################################################################
  69. # this section lets you override the default compile type
  70. ######################################################################
  71. ifdef CODE_OPTIMIZE
  72. VOCAL_COMPILE_TYPE := opt
  73. endif
  74. ifdef CODE_PROFILE
  75. VOCAL_COMPILE_TYPE := prof
  76. endif
  77. ifdef CODE_NODEBUG
  78. VOCAL_COMPILE_TYPE := nodebug
  79. endif
  80. TARGET_TYPE := $(VOCAL_COMPILE_TYPE)
  81. ifeq ($(VOCAL_COMPILE_TYPE),nodebug)
  82. endif
  83. ifeq ($(VOCAL_COMPILE_TYPE),debug)
  84. CXXFLAGS += $(DEBUG_FLAG)
  85. CFLAGS   += $(DEBUG_FLAG)
  86. endif
  87. ifeq ($(VOCAL_COMPILE_TYPE),opt)
  88. ifneq ($(CODE_OPTIMIZE), 1)
  89. CXXFLAGS += -O$(CODE_OPTIMIZE) -DCODE_OPTIMIZE
  90. CFLAGS += -O$(CODE_OPTIMIZE) -DCODE_OPTIMIZE
  91. else
  92. CXXFLAGS += -O -DCODE_OPTIMIZE
  93. CFLAGS += -O -DCODE_OPTIMIZE
  94. endif
  95. endif
  96. # profiling
  97. ifeq ($(VOCAL_COMPILE_TYPE),prof)
  98. # we know how to profile using GCC
  99. ifdef USE_GCC
  100. LDFLAGS  += -pg
  101. CXXFLAGS += -pg
  102. CFLAGS   += -pg
  103. endif
  104. endif
  105. ifeq ($(USE_YARROW),1)
  106. DEFINES += USE_CRYPTO_RANDOM
  107. endif
  108. ifeq ($(VOCAL_USE_DEPRECATED),1)
  109. DEFINES += VOCAL_USE_DEPRECATED
  110. endif
  111. ifeq ($(VOCAL_WARN_DEPRECATED),1)
  112. DEFINES += VOCAL_WARN_DEPRECATED
  113. endif
  114. ifeq ($(ARCH),i586) 
  115. DEFINES += VOCAL_USING_PENTIUM
  116. endif
  117. ifeq ($(ARCH),i686)
  118. DEFINES += VOCAL_USING_PENTIUM
  119. endif
  120. ######################################################################
  121. #              More Toolchain defaults
  122. ######################################################################
  123. ifeq ($(OSCLASS),VXWORKS)
  124. # these are VxWorks defaults
  125. # by default, we will use a real linker as the linker
  126. ifndef LINKER
  127. LINKER = $(LD)
  128. endif
  129. LDFLAGS += -Ur
  130. endif
  131. # SH hardware -- this code should actually be separated as this is
  132. # toolchain stuff, by and large.
  133. ifeq ($(ARCH),sh)
  134. CXX=sh-wrs-vxworks-g++
  135. DEP=sh-wrs-vxworks-gcc
  136. CC=sh-wrs-vxworks-gcc
  137. AR=sh-wrs-vxworks-ar
  138. LD=sh-wrs-vxworks-ld
  139. CROSS_COMPILE=1
  140. DEFINES += BSD43_COMPATIBLE
  141. CXXFLAGS += 
  142. CFLAGS   += 
  143. LDFLAGS  += -L/usr/local/lib/gcc-lib/sh-wrs-vxworks/2.95.1/m2
  144. LDLIBS_LAST   +=  -lstdc++ -lgcc
  145. OSCLASS = VXWORKS
  146. USE_LEAKTRACE=
  147. endif
  148. OS_ARCH  := $(OSTYPE).$(ARCH)
  149. TARGET_NAME := $(TARGET_TYPE).$(OS_ARCH)