/security/coreconf/IRIX.mk

http://github.com/zpao/v8monkey · Makefile · 126 lines · 59 code · 14 blank · 53 comment · 0 complexity · c6a045e7c8e8469afbae27fdcdbb4c27 MD5 · raw file

  1. #
  2. # ***** BEGIN LICENSE BLOCK *****
  3. # Version: MPL 1.1/GPL 2.0/LGPL 2.1
  4. #
  5. # The contents of this file are subject to the Mozilla Public License Version
  6. # 1.1 (the "License"); you may not use this file except in compliance with
  7. # the License. You may obtain a copy of the License at
  8. # http://www.mozilla.org/MPL/
  9. #
  10. # Software distributed under the License is distributed on an "AS IS" basis,
  11. # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12. # for the specific language governing rights and limitations under the
  13. # License.
  14. #
  15. # The Original Code is the Netscape security libraries.
  16. #
  17. # The Initial Developer of the Original Code is
  18. # Netscape Communications Corporation.
  19. # Portions created by the Initial Developer are Copyright (C) 1994-2000
  20. # the Initial Developer. All Rights Reserved.
  21. #
  22. # Contributor(s):
  23. #
  24. # Alternatively, the contents of this file may be used under the terms of
  25. # either the GNU General Public License Version 2 or later (the "GPL"), or
  26. # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  27. # in which case the provisions of the GPL or the LGPL are applicable instead
  28. # of those above. If you wish to allow use of your version of this file only
  29. # under the terms of either the GPL or the LGPL, and not to allow others to
  30. # use your version of this file under the terms of the MPL, indicate your
  31. # decision by deleting the provisions above and replace them with the notice
  32. # and other provisions required by the GPL or the LGPL. If you do not delete
  33. # the provisions above, a recipient may use your version of this file under
  34. # the terms of any one of the MPL, the GPL or the LGPL.
  35. #
  36. # ***** END LICENSE BLOCK *****
  37. include $(CORE_DEPTH)/coreconf/UNIX.mk
  38. #
  39. # The default implementation strategy for Irix is classic nspr.
  40. #
  41. ifeq ($(USE_PTHREADS),1)
  42. ifeq ($(USE_N32),1)
  43. IMPL_STRATEGY = _n32_PTH
  44. else
  45. IMPL_STRATEGY = _PTH
  46. endif
  47. endif
  48. DEFAULT_COMPILER = cc
  49. ifdef NS_USE_GCC
  50. CC = gcc
  51. AS = $(CC) -x assembler-with-cpp
  52. ODD_CFLAGS = -Wall -Wno-format -Wno-switch
  53. ifdef BUILD_OPT
  54. OPTIMIZER = -O6
  55. endif
  56. else
  57. CC = cc
  58. CCC = CC
  59. ODD_CFLAGS = -fullwarn -xansi -woff 1209
  60. ifdef BUILD_OPT
  61. ifeq ($(USE_N32),1)
  62. OPTIMIZER = -O -OPT:Olimit=4000
  63. else
  64. OPTIMIZER = -O -Olimit 4000
  65. endif
  66. endif
  67. # For 6.x machines, include this flag
  68. ifeq (6., $(findstring 6., $(OS_RELEASE)))
  69. ifeq ($(USE_N32),1)
  70. ODD_CFLAGS += -n32 -mips3 -exceptions
  71. else
  72. ODD_CFLAGS += -32 -multigot
  73. endif
  74. else
  75. ODD_CFLAGS += -xgot
  76. endif
  77. ifeq ($(USE_N32),1)
  78. OS_CFLAGS += -dollar
  79. endif
  80. endif
  81. ODD_CFLAGS += -DSVR4 -DIRIX
  82. CPU_ARCH = mips
  83. RANLIB = /bin/true
  84. # For purify
  85. # NOTE: should always define _SGI_MP_SOURCE
  86. NOMD_OS_CFLAGS += $(ODD_CFLAGS) -D_SGI_MP_SOURCE
  87. OS_CFLAGS += $(NOMD_OS_CFLAGS)
  88. ifdef USE_MDUPDATE
  89. OS_CFLAGS += -MDupdate $(DEPENDENCIES)
  90. endif
  91. ifeq ($(USE_N32),1)
  92. SHLIB_LD_OPTS += -n32 -mips3
  93. endif
  94. MKSHLIB += $(LD) $(SHLIB_LD_OPTS) -shared -soname $(@:$(OBJDIR)/%.so=%.so)
  95. ifdef MAPFILE
  96. # Add LD options to restrict exported symbols to those in the map file
  97. endif
  98. # Change PROCESS to put the mapfile in the correct format for this platform
  99. PROCESS_MAP_FILE = cp $< $@
  100. DSO_LDOPTS = -elf -shared -all
  101. ifdef DSO_BACKEND
  102. DSO_LDOPTS += -soname $(DSO_NAME)
  103. endif
  104. #
  105. # Revision notes:
  106. #
  107. # In the IRIX compilers prior to version 7.2, -n32 implied -mips3.
  108. # Beginning in the 7.2 compilers, -n32 implies -mips4 when the compiler
  109. # is running on a system with a mips4 CPU (e.g. R8K, R10K).
  110. # We want our code to explicitly be mips3 code, so we now explicitly
  111. # set -mips3 whenever we set -n32.
  112. #