Makefile
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:6k
- #! gmake
- #
- # The contents of this file are subject to the Mozilla Public
- # License Version 1.1 (the "License"); you may not use this file
- # except in compliance with the License. You may obtain a copy of
- # the License at http://www.mozilla.org/MPL/
- #
- # Software distributed under the License is distributed on an "AS
- # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- # implied. See the License for the specific language governing
- # rights and limitations under the License.
- #
- # The Original Code is the Netscape security libraries.
- #
- # The Initial Developer of the Original Code is Netscape
- # Communications Corporation. Portions created by Netscape are
- # Copyright (C) 1994-2000 Netscape Communications Corporation. All
- # Rights Reserved.
- #
- # Contributor(s):
- #
- # Alternatively, the contents of this file may be used under the
- # terms of the GNU General Public License Version 2 or later (the
- # "GPL"), in which case the provisions of the GPL are applicable
- # instead of those above. If you wish to allow use of your
- # version of this file only under the terms of the GPL and not to
- # allow others to use your version of this file under the MPL,
- # indicate your decision by deleting the provisions above and
- # replace them with the notice and other provisions required by
- # the GPL. If you do not delete the provisions above, a recipient
- # may use your version of this file under either the MPL or the
- # GPL.
- #
- #######################################################################
- # (1) Include initial platform-independent assignments (MANDATORY). #
- #######################################################################
- include manifest.mn
- #######################################################################
- # (2) Include "global" configuration information. (OPTIONAL) #
- #######################################################################
- include $(CORE_DEPTH)/coreconf/config.mk
- #######################################################################
- # (3) Include "component" configuration information. (OPTIONAL) #
- #######################################################################
- #######################################################################
- # (4) Include "local" platform-dependent assignments (OPTIONAL). #
- #######################################################################
- -include config.mk
- ifdef USE_64
- DEFINES += -DNSS_USE_64
- endif
- # des.c wants _X86_ defined for intel CPUs.
- # coreconf does this for windows, but not for Linux, FreeBSD, etc.
- ifeq ($(CPU_ARCH),x86)
- ifneq ($(OS_ARCH),WINNT)
- OS_REL_CFLAGS += -D_X86_
- endif
- endif
- ifeq ($(OS_ARCH),WINNT)
- ifneq ($(OS_TARGET),WIN16)
- ASFILES = mpi_x86.asm
- DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D
- endif
- endif
- ifeq ($(OS_ARCH),IRIX)
- ifeq ($(USE_N32),1)
- ASFILES = mpi_mips.s
- ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 -exceptions
- DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE
- else
- endif
- endif
- ifeq ($(OS_TARGET),Linux)
- ifeq ($(CPU_ARCH),x86)
- ASFILES = mpi_x86.s
- DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D
- endif
- endif
- ifeq ($(OS_ARCH), HP-UX)
- ifdef USE_64
- else
- DEFINES += -DMP_NO_MP_WORD
- endif
- endif
- # Note: -xarch=v8 or v9 is now done in coreconf
- ifeq ($(OS_TARGET),SunOS)
- ifeq ($(CPU_ARCH),sparc)
- ifndef NS_USE_GCC
- OS_CFLAGS += -xchip=ultra2
- endif
- ifeq ($(OS_RELEASE),5.5.1)
- SYSV_SPARC = 1
- endif
- ifeq ($(OS_RELEASE),5.6)
- SYSV_SPARC = 1
- endif
- ifeq ($(OS_RELEASE),5.7)
- SYSV_SPARC = 1
- endif
- ifeq ($(OS_RELEASE),5.8)
- SYSV_SPARC = 1
- endif
- ifeq ($(SYSV_SPARC),1)
- ifdef USE_64
- DEFINES += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD -DMP_ASSEMBLY_MULTIPLY
- MPI_SRCS += mpi_sparc.c mpv_sparc.c
- SOLARIS_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v9a -KPIC -mt
- else
- DEFINES += -DMP_NO_MP_WORD -DMP_ASSEMBLY_MULTIPLY
- ASFILES = mpv_sparc32.S
- ASM_SUFFIX = .S
- MPI_SRCS += mpi_sparc.c
- SOLARIS_AS = /usr/ccs/bin/as
- SOLARIS_FLAGS = -xarch=v8plusa -K PIC
- endif
- endif
- endif
- endif
- #######################################################################
- # (5) Execute "global" rules. (OPTIONAL) #
- #######################################################################
- include $(CORE_DEPTH)/coreconf/rules.mk
- #######################################################################
- # (6) Execute "component" rules. (OPTIONAL) #
- #######################################################################
- #######################################################################
- # (7) Execute "local" rules. (OPTIONAL). #
- #######################################################################
- export:: private_export
- ifdef MOZILLA_BSAFE_BUILD
- private_export::
- ifeq ($(OS_ARCH), WINNT)
- rm -f $(DIST)/lib/bsafe$(BSAFEVER).lib
- endif
- $(NSINSTALL) -R $(BSAFEPATH) $(DIST)/lib
- endif
- mp%.h : mpi/mp%.h
- cd mpi; cp $@ ..
- mp%.c : mpi/mp%.c
- cd mpi; cp $@ ..
- mp%.S : mpi/mp%.S
- cd mpi; cp $@ ..
- mp%.s : mpi/mp%.s
- cd mpi; cp $@ ..
- mp%.asm : mpi/mp%.asm
- cd mpi; cp $@ ..
- logtab.h : mpi/logtab.h
- cd mpi; cp $@ ..
- primes.c : mpi/primes.c
- cd mpi; cp $@ ..
- vis%.il : mpi/vis%.il
- cd mpi; cp $@ ..
- vis%.h : mpi/vis%.h
- cd mpi; cp $@ ..
- .PRECIOUS : $(MPI_SRCS) $(MPI_HDRS) $(ASFILES)
- ALL_TRASH += $(MPI_SRCS) $(MPI_HDRS) $(ASFILES) primes.c
- DEFINES += -DMP_API_COMPATIBLE
- MPI_USERS = dh.c pqg.c dsa.c rsa.c
- MPI_OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(MPI_SRCS:.c=$(OBJ_SUFFIX)))
- MPI_OBJS += $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(MPI_USERS:.c=$(OBJ_SUFFIX)))
- $(MPI_OBJS): $(MPI_HDRS) primes.c
- ifeq ($(SYSV_SPARC),1)
- SPARCFIX = $(OBJDIR)/sparcfix
- $(SPARCFIX): sparcfix.c
- @$(MAKE_OBJDIR)
- $(CC) -o $@ -O sparcfix.c -lelf
- $(OBJDIR)/mpv_sparc32.o: $(SPARCFIX) mpv_sparc32.S
- @$(MAKE_OBJDIR)
- $(SOLARIS_AS) -o $@ $(SOLARIS_FLAGS) mpv_sparc32.S
- $(SPARCFIX) $@
- $(OBJDIR)/mpv_sparc.o: vis_64.il vis_proto.h mpv_sparc.c
- @$(MAKE_OBJDIR)
- $(CC) -o $@ $(SOLARIS_FLAGS) -c vis_64.il mpv_sparc.c
- # $(SPARCFIX) $@
- endif