Makefile
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:6k
源码类别:

CA认证

开发平台:

WINDOWS

  1. #! gmake
  2. #
  3. # The contents of this file are subject to the Mozilla Public
  4. # License Version 1.1 (the "License"); you may not use this file
  5. # except in compliance with the License. You may obtain a copy of
  6. # the License at http://www.mozilla.org/MPL/
  7. # Software distributed under the License is distributed on an "AS
  8. # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9. # implied. See the License for the specific language governing
  10. # rights and limitations under the License.
  11. # The Original Code is the Netscape security libraries.
  12. # The Initial Developer of the Original Code is Netscape
  13. # Communications Corporation.  Portions created by Netscape are 
  14. # Copyright (C) 1994-2000 Netscape Communications Corporation.  All
  15. # Rights Reserved.
  16. # Contributor(s):
  17. # Alternatively, the contents of this file may be used under the
  18. # terms of the GNU General Public License Version 2 or later (the
  19. # "GPL"), in which case the provisions of the GPL are applicable 
  20. # instead of those above.  If you wish to allow use of your 
  21. # version of this file only under the terms of the GPL and not to
  22. # allow others to use your version of this file under the MPL,
  23. # indicate your decision by deleting the provisions above and
  24. # replace them with the notice and other provisions required by
  25. # the GPL.  If you do not delete the provisions above, a recipient
  26. # may use your version of this file under either the MPL or the
  27. # GPL.
  28. #
  29. #######################################################################
  30. # (1) Include initial platform-independent assignments (MANDATORY).   #
  31. #######################################################################
  32. include manifest.mn
  33. #######################################################################
  34. # (2) Include "global" configuration information. (OPTIONAL)          #
  35. #######################################################################
  36. include $(CORE_DEPTH)/coreconf/config.mk
  37. #######################################################################
  38. # (3) Include "component" configuration information. (OPTIONAL)       #
  39. #######################################################################
  40. #######################################################################
  41. # (4) Include "local" platform-dependent assignments (OPTIONAL).      #
  42. #######################################################################
  43. -include config.mk
  44. ifdef USE_64
  45. DEFINES += -DNSS_USE_64
  46. endif
  47. # des.c wants _X86_ defined for intel CPUs.  
  48. # coreconf does this for windows, but not for Linux, FreeBSD, etc.
  49. ifeq ($(CPU_ARCH),x86)
  50. ifneq ($(OS_ARCH),WINNT)
  51. OS_REL_CFLAGS += -D_X86_
  52. endif
  53. endif
  54. ifeq ($(OS_ARCH),WINNT)
  55. ifneq ($(OS_TARGET),WIN16)
  56.     ASFILES  = mpi_x86.asm
  57.     DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D
  58. endif
  59. endif
  60. ifeq ($(OS_ARCH),IRIX)
  61. ifeq ($(USE_N32),1)
  62.     ASFILES  = mpi_mips.s
  63.     ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 -exceptions 
  64.     DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE
  65. else
  66. endif
  67. endif
  68. ifeq ($(OS_TARGET),Linux)
  69. ifeq ($(CPU_ARCH),x86)
  70.     ASFILES  = mpi_x86.s
  71.     DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D
  72. endif
  73. endif
  74. ifeq ($(OS_ARCH), HP-UX)
  75. ifdef USE_64
  76. else
  77.     DEFINES += -DMP_NO_MP_WORD
  78. endif
  79. endif
  80. # Note: -xarch=v8 or v9 is now done in coreconf
  81. ifeq ($(OS_TARGET),SunOS)
  82. ifeq ($(CPU_ARCH),sparc)
  83. ifndef NS_USE_GCC
  84.     OS_CFLAGS += -xchip=ultra2
  85. endif
  86. ifeq ($(OS_RELEASE),5.5.1)
  87.     SYSV_SPARC = 1
  88. endif
  89. ifeq ($(OS_RELEASE),5.6)
  90.     SYSV_SPARC = 1
  91. endif
  92. ifeq ($(OS_RELEASE),5.7)
  93.     SYSV_SPARC = 1
  94. endif
  95. ifeq ($(OS_RELEASE),5.8)
  96.     SYSV_SPARC = 1
  97. endif
  98. ifeq ($(SYSV_SPARC),1)
  99. ifdef USE_64
  100.     DEFINES += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD -DMP_ASSEMBLY_MULTIPLY
  101.     MPI_SRCS += mpi_sparc.c mpv_sparc.c
  102.     SOLARIS_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v9a -KPIC -mt
  103. else
  104.     DEFINES += -DMP_NO_MP_WORD -DMP_ASSEMBLY_MULTIPLY
  105.     ASFILES  = mpv_sparc32.S
  106.     ASM_SUFFIX = .S
  107.     MPI_SRCS += mpi_sparc.c
  108.     SOLARIS_AS = /usr/ccs/bin/as
  109.     SOLARIS_FLAGS = -xarch=v8plusa -K PIC
  110. endif
  111. endif
  112. endif
  113. endif
  114. #######################################################################
  115. # (5) Execute "global" rules. (OPTIONAL)                              #
  116. #######################################################################
  117. include $(CORE_DEPTH)/coreconf/rules.mk
  118. #######################################################################
  119. # (6) Execute "component" rules. (OPTIONAL)                           #
  120. #######################################################################
  121. #######################################################################
  122. # (7) Execute "local" rules. (OPTIONAL).                              #
  123. #######################################################################
  124. export:: private_export
  125. ifdef MOZILLA_BSAFE_BUILD
  126. private_export::
  127. ifeq ($(OS_ARCH), WINNT)
  128. rm -f $(DIST)/lib/bsafe$(BSAFEVER).lib
  129. endif
  130. $(NSINSTALL) -R $(BSAFEPATH) $(DIST)/lib
  131. endif
  132. mp%.h : mpi/mp%.h
  133. cd mpi; cp $@ ..
  134. mp%.c : mpi/mp%.c
  135. cd mpi; cp $@ ..
  136. mp%.S : mpi/mp%.S
  137. cd mpi; cp $@ ..
  138. mp%.s : mpi/mp%.s
  139. cd mpi; cp $@ ..
  140. mp%.asm : mpi/mp%.asm
  141. cd mpi; cp $@ ..
  142. logtab.h : mpi/logtab.h
  143. cd mpi; cp $@ ..
  144. primes.c : mpi/primes.c
  145. cd mpi; cp $@ ..
  146. vis%.il : mpi/vis%.il
  147. cd mpi; cp $@ ..
  148. vis%.h : mpi/vis%.h
  149. cd mpi; cp $@ ..
  150. .PRECIOUS : $(MPI_SRCS) $(MPI_HDRS) $(ASFILES)
  151. ALL_TRASH += $(MPI_SRCS) $(MPI_HDRS) $(ASFILES) primes.c
  152. DEFINES += -DMP_API_COMPATIBLE
  153. MPI_USERS = dh.c pqg.c dsa.c rsa.c 
  154. MPI_OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(MPI_SRCS:.c=$(OBJ_SUFFIX)))
  155. MPI_OBJS += $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(MPI_USERS:.c=$(OBJ_SUFFIX)))
  156. $(MPI_OBJS): $(MPI_HDRS) primes.c
  157. ifeq ($(SYSV_SPARC),1)
  158. SPARCFIX = $(OBJDIR)/sparcfix
  159. $(SPARCFIX): sparcfix.c
  160. @$(MAKE_OBJDIR)
  161. $(CC) -o $@ -O sparcfix.c -lelf
  162. $(OBJDIR)/mpv_sparc32.o: $(SPARCFIX) mpv_sparc32.S
  163. @$(MAKE_OBJDIR)
  164. $(SOLARIS_AS) -o $@ $(SOLARIS_FLAGS) mpv_sparc32.S
  165. $(SPARCFIX) $@
  166. $(OBJDIR)/mpv_sparc.o: vis_64.il vis_proto.h mpv_sparc.c
  167. @$(MAKE_OBJDIR)
  168. $(CC) -o $@ $(SOLARIS_FLAGS) -c vis_64.il mpv_sparc.c
  169. #       $(SPARCFIX) $@
  170. endif