2000-04-01 00:13:40 +04:00
|
|
|
#! gmake
|
|
|
|
#
|
2004-04-25 19:03:26 +04:00
|
|
|
# ***** BEGIN LICENSE BLOCK *****
|
|
|
|
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
2000-04-01 00:13:40 +04:00
|
|
|
# The Original Code is the Netscape security libraries.
|
2004-04-25 19:03:26 +04:00
|
|
|
#
|
|
|
|
# The Initial Developer of the Original Code is
|
|
|
|
# Netscape Communications Corporation.
|
|
|
|
# Portions created by the Initial Developer are Copyright (C) 1994-2000
|
|
|
|
# the Initial Developer. All Rights Reserved.
|
2003-10-17 17:45:42 +04:00
|
|
|
#
|
2000-04-01 00:13:40 +04:00
|
|
|
# Contributor(s):
|
2004-04-25 19:03:26 +04:00
|
|
|
# Stephen Fung <fungstep@hotmail.com> and
|
|
|
|
# Douglas Stebila <douglas@stebila.ca>, Sun Microsystems
|
|
|
|
# Laboratories
|
|
|
|
#
|
|
|
|
# Alternatively, the contents of this file may be used under the terms of
|
|
|
|
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
|
|
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
|
|
# in which case the provisions of the GPL or the LGPL are applicable instead
|
|
|
|
# of those above. If you wish to allow use of your version of this file only
|
|
|
|
# under the terms of either the GPL or the LGPL, and not to allow others to
|
|
|
|
# use your version of this file under the terms of the MPL, indicate your
|
|
|
|
# decision by deleting the provisions above and replace them with the notice
|
|
|
|
# and other provisions required by the GPL or the LGPL. If you do not delete
|
|
|
|
# the provisions above, a recipient may use your version of this file under
|
|
|
|
# the terms of any one of the MPL, the GPL or the LGPL.
|
2000-04-01 00:13:40 +04:00
|
|
|
#
|
2004-04-25 19:03:26 +04:00
|
|
|
# ***** END LICENSE BLOCK *****
|
2000-04-01 00:13:40 +04:00
|
|
|
|
|
|
|
#######################################################################
|
|
|
|
# (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
|
|
|
|
|
2000-07-18 04:56:09 +04:00
|
|
|
ifdef USE_64
|
|
|
|
DEFINES += -DNSS_USE_64
|
|
|
|
endif
|
|
|
|
|
2000-12-28 07:13:02 +03:00
|
|
|
ifdef USE_HYBRID
|
|
|
|
DEFINES += -DNSS_USE_HYBRID
|
|
|
|
endif
|
|
|
|
|
2000-08-23 04:06:08 +04:00
|
|
|
# des.c wants _X86_ defined for intel CPUs.
|
|
|
|
# coreconf does this for windows, but not for Linux, FreeBSD, etc.
|
|
|
|
ifeq ($(CPU_ARCH),x86)
|
2002-02-16 01:54:08 +03:00
|
|
|
ifneq (,$(filter-out WIN%,$(OS_TARGET)))
|
2000-08-23 04:06:08 +04:00
|
|
|
OS_REL_CFLAGS += -D_X86_
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2002-02-16 01:54:08 +03:00
|
|
|
ifeq ($(OS_TARGET),OSF1)
|
2001-10-10 05:05:02 +04:00
|
|
|
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_NO_MP_WORD
|
|
|
|
MPI_SRCS += mpvalpha.c
|
|
|
|
endif
|
|
|
|
|
2002-02-16 01:54:08 +03:00
|
|
|
ifeq (,$(filter-out WINNT WIN95,$(OS_TARGET))) #omits WIN16 and WINCE
|
2003-04-20 08:23:37 +04:00
|
|
|
ifdef NS_USE_GCC
|
|
|
|
# Ideally, we want to use assembler
|
|
|
|
# ASFILES = mpi_x86.s
|
|
|
|
# DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE \
|
|
|
|
# -DMP_ASSEMBLY_DIV_2DX1D
|
|
|
|
# but we haven't figured out how to make it work, so we are not
|
|
|
|
# using assembler right now.
|
|
|
|
ASFILES =
|
|
|
|
DEFINES += -DMP_NO_MP_WORD -DMP_USE_UINT_DIGIT
|
|
|
|
else
|
2000-09-02 09:41:21 +04:00
|
|
|
ASFILES = mpi_x86.asm
|
2003-07-22 06:04:57 +04:00
|
|
|
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D \
|
|
|
|
-DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD
|
2003-04-20 08:23:37 +04:00
|
|
|
endif
|
2002-11-20 03:48:09 +03:00
|
|
|
ifdef BUILD_OPT
|
2003-04-20 08:23:37 +04:00
|
|
|
ifndef NS_USE_GCC
|
2002-11-20 03:48:09 +03:00
|
|
|
OPTIMIZER += -Ox # maximum optimization for freebl
|
|
|
|
endif
|
2000-09-02 09:41:21 +04:00
|
|
|
endif
|
2003-04-20 08:23:37 +04:00
|
|
|
endif
|
2002-02-16 01:54:08 +03:00
|
|
|
|
|
|
|
ifeq ($(OS_TARGET),WINCE)
|
|
|
|
DEFINES += -DMP_ARGCHK=0 # no assert in WinCE
|
2002-11-20 03:48:09 +03:00
|
|
|
DEFINES += -DSHA_NO_LONG_LONG # avoid 64-bit arithmetic in SHA512
|
2000-09-02 09:41:21 +04:00
|
|
|
endif
|
|
|
|
|
2001-10-18 00:35:37 +04:00
|
|
|
ifdef XP_OS2_VACPP
|
|
|
|
ASFILES = mpi_x86.asm
|
|
|
|
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD
|
|
|
|
endif
|
|
|
|
|
2002-02-16 01:54:08 +03:00
|
|
|
ifeq ($(OS_TARGET),IRIX)
|
2000-09-02 05:40:41 +04:00
|
|
|
ifeq ($(USE_N32),1)
|
|
|
|
ASFILES = mpi_mips.s
|
2001-05-22 17:43:47 +04:00
|
|
|
ifeq ($(NS_USE_GCC),1)
|
|
|
|
ASFLAGS = -Wp,-P -Wp,-traditional -O -mips3
|
|
|
|
else
|
2000-12-13 04:26:48 +03:00
|
|
|
ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3
|
2001-05-22 17:43:47 +04:00
|
|
|
endif
|
2000-09-02 05:40:41 +04:00
|
|
|
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE
|
2000-12-13 04:26:48 +03:00
|
|
|
DEFINES += -DMP_USE_UINT_DIGIT
|
2000-09-02 05:40:41 +04:00
|
|
|
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
|
2003-10-17 17:45:42 +04:00
|
|
|
ifdef NSS_ENABLE_ECC
|
|
|
|
#enable floating point ECC code
|
|
|
|
DEFINES += -DECL_USE_FP
|
|
|
|
ECL_SRCS += ecp_fp160.c ecp_fp192.c ecp_fp224.c ecp_fp.c
|
|
|
|
ECL_HDRS += ecp_fp.h
|
|
|
|
endif
|
2000-09-02 05:40:41 +04:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2002-02-16 01:54:08 +03:00
|
|
|
ifeq ($(OS_TARGET),AIX)
|
2000-12-15 06:01:23 +03:00
|
|
|
DEFINES += -DMP_USE_UINT_DIGIT
|
|
|
|
ifndef USE_64
|
2000-12-15 09:00:55 +03:00
|
|
|
DEFINES += -DMP_NO_DIV_WORD -DMP_NO_ADD_WORD -DMP_NO_SUB_WORD
|
2000-12-15 06:01:23 +03:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2002-02-16 01:54:08 +03:00
|
|
|
ifeq ($(OS_TARGET), HP-UX)
|
2002-05-18 04:52:11 +04:00
|
|
|
ifneq ($(OS_TEST), ia64)
|
2000-12-28 06:39:01 +03:00
|
|
|
MKSHLIB += +k +vshlibunsats -u FREEBL_GetVector +e FREEBL_GetVector
|
|
|
|
ifndef FREEBL_EXTENDED_BUILD
|
2000-12-13 04:26:48 +03:00
|
|
|
ifdef USE_PURE_32
|
|
|
|
# build for DA1.1 (HP PA 1.1) pure 32 bit model
|
|
|
|
DEFINES += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD
|
2002-11-20 03:48:09 +03:00
|
|
|
DEFINES += -DSHA_NO_LONG_LONG # avoid 64-bit arithmetic in SHA512
|
2000-12-13 07:36:28 +03:00
|
|
|
else
|
2000-09-02 05:40:41 +04:00
|
|
|
ifdef USE_64
|
2000-12-13 04:26:48 +03:00
|
|
|
# this builds for DA2.0W (HP PA 2.0 Wide), the LP64 ABI, using 32-bit digits
|
2000-12-28 06:39:01 +03:00
|
|
|
MPI_SRCS += mpi_hp.c
|
|
|
|
ASFILES += hpma512.s hppa20.s
|
|
|
|
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE
|
2000-09-02 05:40:41 +04:00
|
|
|
else
|
2000-12-13 04:26:48 +03:00
|
|
|
# this builds for DA2.0 (HP PA 2.0 Narrow) hybrid model
|
|
|
|
# (the 32-bit ABI with 64-bit registers) using 32-bit digits
|
2000-12-28 06:39:01 +03:00
|
|
|
MPI_SRCS += mpi_hp.c
|
|
|
|
ASFILES += hpma512.s hppa20.s
|
|
|
|
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE
|
|
|
|
# This is done in coreconf by defining USE_LONG_LONGS
|
|
|
|
# OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
|
|
|
|
endif
|
2000-12-13 04:26:48 +03:00
|
|
|
endif
|
2000-09-02 05:40:41 +04:00
|
|
|
endif
|
|
|
|
endif
|
2002-05-18 04:52:11 +04:00
|
|
|
endif
|
2000-09-02 05:40:41 +04:00
|
|
|
|
|
|
|
# Note: -xarch=v8 or v9 is now done in coreconf
|
|
|
|
ifeq ($(OS_TARGET),SunOS)
|
2004-05-25 04:13:12 +04:00
|
|
|
|
|
|
|
# The -R '$ORIGIN' linker option instructs this library to search for its
|
|
|
|
# dependencies in the same directory where it resides.
|
|
|
|
MKSHLIB += -R '$$ORIGIN'
|
|
|
|
|
2000-09-02 05:40:41 +04:00
|
|
|
ifeq ($(CPU_ARCH),sparc)
|
2000-09-08 05:05:23 +04:00
|
|
|
ifndef NS_USE_GCC
|
2001-11-01 08:25:31 +03:00
|
|
|
ifdef USE_HYBRID
|
2000-09-02 05:40:41 +04:00
|
|
|
OS_CFLAGS += -xchip=ultra2
|
2004-06-02 04:40:53 +04:00
|
|
|
endif # USE_HYBRID
|
|
|
|
endif # NS_USE_GCC
|
2004-06-02 05:56:43 +04:00
|
|
|
SYSV_SPARC=1
|
2000-12-13 04:26:48 +03:00
|
|
|
SOLARIS_AS = /usr/ccs/bin/as
|
2001-03-15 02:30:37 +03:00
|
|
|
ifdef NS_USE_GCC
|
2003-03-21 06:31:00 +03:00
|
|
|
ifdef GCC_USE_GNU_LD
|
|
|
|
MKSHLIB += -Wl,-Bsymbolic,-z,defs,-z,now,-z,text,--version-script,mapfile.Solaris
|
|
|
|
else
|
|
|
|
MKSHLIB += -Wl,-B,symbolic,-z,defs,-z,now,-z,text,-M,mapfile.Solaris
|
2004-06-02 04:40:53 +04:00
|
|
|
endif # GCC_USE_GNU_LD
|
2001-03-15 02:30:37 +03:00
|
|
|
else
|
2000-12-28 06:39:01 +03:00
|
|
|
MKSHLIB += -B symbolic -z defs -z now -z text -M mapfile.Solaris
|
2004-06-02 04:40:53 +04:00
|
|
|
endif # NS_USE_GCC
|
2000-12-13 04:26:48 +03:00
|
|
|
ifdef USE_PURE_32
|
|
|
|
# this builds for Sparc v8 pure 32-bit architecture
|
|
|
|
DEFINES += -DMP_USE_LONG_LONG_MULTIPLY -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD
|
2002-11-20 03:48:09 +03:00
|
|
|
DEFINES += -DSHA_NO_LONG_LONG # avoid 64-bit arithmetic in SHA512
|
2000-12-13 04:26:48 +03:00
|
|
|
else
|
2000-09-02 05:40:41 +04:00
|
|
|
ifdef USE_64
|
2000-12-13 04:26:48 +03:00
|
|
|
# this builds for Sparc v9a pure 64-bit architecture
|
|
|
|
MPI_SRCS += mpi_sparc.c
|
|
|
|
ASFILES = mpv_sparcv9.s montmulfv9.s
|
|
|
|
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_USING_MONT_MULF
|
|
|
|
DEFINES += -DMP_USE_UINT_DIGIT
|
|
|
|
# MPI_SRCS += mpv_sparc.c
|
|
|
|
# removed -xdepend from the following line
|
|
|
|
SOLARIS_FLAGS = -fast -xO5 -xrestrict=%all -xchip=ultra -xarch=v9a -KPIC -mt
|
|
|
|
SOLARIS_AS_FLAGS = -xarch=v9a -K PIC
|
2000-09-02 05:40:41 +04:00
|
|
|
else
|
2000-12-13 04:26:48 +03:00
|
|
|
# this builds for Sparc v8+a hybrid architecture, 64-bit registers, 32-bit ABI
|
2000-09-30 05:46:30 +04:00
|
|
|
MPI_SRCS += mpi_sparc.c
|
2000-12-13 04:26:48 +03:00
|
|
|
ASFILES = mpv_sparcv8.s montmulfv8.s
|
|
|
|
DEFINES += -DMP_NO_MP_WORD -DMP_ASSEMBLY_MULTIPLY -DMP_USING_MONT_MULF
|
|
|
|
DEFINES += -DMP_USE_UINT_DIGIT
|
|
|
|
SOLARIS_AS_FLAGS = -xarch=v8plusa -K PIC
|
|
|
|
# ASM_SUFFIX = .S
|
2004-06-02 04:40:53 +04:00
|
|
|
endif # USE_64
|
|
|
|
endif # USE_PURE_32
|
2003-10-17 17:45:42 +04:00
|
|
|
ifdef NSS_ENABLE_ECC
|
|
|
|
DEFINES += -DECL_USE_FP
|
|
|
|
ECL_SRCS += ecp_fp160.c ecp_fp192.c ecp_fp224.c ecp_fp.c
|
|
|
|
ECL_HDRS += ecp_fp.h
|
2004-06-02 04:40:53 +04:00
|
|
|
endif # NSS_ENABLE_ECC
|
2001-04-27 08:17:59 +04:00
|
|
|
else
|
|
|
|
# Solaris x86
|
2002-11-21 05:54:04 +03:00
|
|
|
DEFINES += -D_X86_
|
2001-04-27 08:17:59 +04:00
|
|
|
DEFINES += -DMP_USE_UINT_DIGIT
|
2001-04-28 00:49:17 +04:00
|
|
|
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D
|
|
|
|
ASFILES = mpi_i86pc.s
|
2001-04-27 08:17:59 +04:00
|
|
|
ifdef NS_USE_GCC
|
|
|
|
LD = gcc
|
2001-04-28 00:49:17 +04:00
|
|
|
AS = gcc
|
2001-04-27 08:17:59 +04:00
|
|
|
ASFLAGS =
|
|
|
|
endif
|
|
|
|
|
2000-09-02 05:40:41 +04:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2002-04-04 04:17:17 +04:00
|
|
|
$(OBJDIR)/sysrand$(OBJ_SUFFIX): sysrand.c unix_rand.c win_rand.c mac_rand.c os2_rand.c
|
2000-09-02 05:40:41 +04:00
|
|
|
|
2000-04-01 00:13:40 +04:00
|
|
|
#######################################################################
|
|
|
|
# (5) Execute "global" rules. (OPTIONAL) #
|
|
|
|
#######################################################################
|
|
|
|
|
|
|
|
include $(CORE_DEPTH)/coreconf/rules.mk
|
|
|
|
|
|
|
|
#######################################################################
|
|
|
|
# (6) Execute "component" rules. (OPTIONAL) #
|
|
|
|
#######################################################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#######################################################################
|
|
|
|
# (7) Execute "local" rules. (OPTIONAL). #
|
|
|
|
#######################################################################
|
|
|
|
|
|
|
|
export:: private_export
|
|
|
|
|
2000-12-20 02:43:12 +03:00
|
|
|
rijndael_tables:
|
|
|
|
$(CC) -o $(OBJDIR)/make_rijndael_tab rijndael_tables.c \
|
|
|
|
$(DEFINES) $(INCLUDES) $(OBJDIR)/libfreebl.a
|
|
|
|
$(OBJDIR)/make_rijndael_tab
|
|
|
|
|
2001-05-01 01:52:46 +04:00
|
|
|
ifdef USE_PURE_32
|
2003-11-19 04:12:31 +03:00
|
|
|
vpath %.h $(FREEBL_PARENT)/ecl $(FREEBL_PARENT)/mpi $(FREEBL_PARENT)
|
|
|
|
vpath %.c $(FREEBL_PARENT)/ecl $(FREEBL_PARENT)/mpi $(FREEBL_PARENT)
|
|
|
|
vpath %.S $(FREEBL_PARENT)/ecl $(FREEBL_PARENT)/mpi $(FREEBL_PARENT)
|
|
|
|
vpath %.s $(FREEBL_PARENT)/ecl $(FREEBL_PARENT)/mpi $(FREEBL_PARENT)
|
|
|
|
vpath %.asm $(FREEBL_PARENT)/ecl $(FREEBL_PARENT)/mpi $(FREEBL_PARENT)
|
2003-10-17 17:45:42 +04:00
|
|
|
INCLUDES += -I$(FREEBL_PARENT) -I$(FREEBL_PARENT)/mpi -I$(FREEBL_PARENT)/ecl
|
2001-05-01 01:52:46 +04:00
|
|
|
else
|
2003-11-19 04:12:31 +03:00
|
|
|
vpath %.h mpi ecl
|
|
|
|
vpath %.c mpi ecl
|
|
|
|
vpath %.S mpi ecl
|
|
|
|
vpath %.s mpi ecl
|
|
|
|
vpath %.asm mpi ecl
|
2003-10-17 17:45:42 +04:00
|
|
|
INCLUDES += -Impi -Iecl
|
2001-05-01 01:52:46 +04:00
|
|
|
endif
|
2000-07-29 23:07:22 +04:00
|
|
|
|
2000-08-15 01:04:46 +04:00
|
|
|
|
2000-07-29 23:07:22 +04:00
|
|
|
DEFINES += -DMP_API_COMPATIBLE
|
|
|
|
|
2003-10-17 17:45:42 +04:00
|
|
|
MPI_USERS = dh.c pqg.c dsa.c rsa.c ec.c
|
2000-09-30 05:46:30 +04:00
|
|
|
|
2000-07-29 23:07:22 +04:00
|
|
|
MPI_OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(MPI_SRCS:.c=$(OBJ_SUFFIX)))
|
2001-06-02 07:07:26 +04:00
|
|
|
MPI_OBJS += $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(MPI_USERS:.c=$(OBJ_SUFFIX)))
|
2000-07-29 23:07:22 +04:00
|
|
|
|
2003-10-17 17:45:42 +04:00
|
|
|
ECL_USERS = ec.c
|
|
|
|
|
|
|
|
ECL_OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(ECL_SRCS:.c=$(OBJ_SUFFIX)) $(ECL_ASM_SRCS:$(ASM_SUFFIX)=$(OBJ_SUFFIX)))
|
|
|
|
ECL_OBJS += $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(ECL_USERS:.c=$(OBJ_SUFFIX)))
|
|
|
|
|
2001-05-08 07:50:02 +04:00
|
|
|
$(MPI_OBJS): $(MPI_HDRS)
|
2000-09-30 05:46:30 +04:00
|
|
|
|
2003-10-17 17:45:42 +04:00
|
|
|
$(ECL_OBJS): $(ECL_HDRS)
|
|
|
|
|
2001-05-08 07:50:02 +04:00
|
|
|
$(OBJDIR)/$(PROG_PREFIX)mpprime$(OBJ_SUFFIX): primes.c
|
|
|
|
|
2001-06-01 05:07:58 +04:00
|
|
|
$(OBJDIR)/ldvector$(OBJ_SUFFIX) $(OBJDIR)/loader$(OBJ_SUFFIX) : loader.h
|
2001-05-08 07:50:02 +04:00
|
|
|
|
2004-06-02 05:56:43 +04:00
|
|
|
ifeq ($(SYSV_SPARC),1)
|
|
|
|
|
2001-03-15 02:30:37 +03:00
|
|
|
$(OBJDIR)/mpv_sparcv8.o $(OBJDIR)/montmulfv8.o : $(OBJDIR)/%.o : %.s
|
2000-09-30 05:46:30 +04:00
|
|
|
@$(MAKE_OBJDIR)
|
2001-05-01 01:52:46 +04:00
|
|
|
$(SOLARIS_AS) -o $@ $(SOLARIS_AS_FLAGS) $<
|
2000-07-29 23:07:22 +04:00
|
|
|
|
2000-12-13 04:26:48 +03:00
|
|
|
$(OBJDIR)/mpv_sparcv9.o $(OBJDIR)/montmulfv9.o : $(OBJDIR)/%.o : %.s
|
|
|
|
@$(MAKE_OBJDIR)
|
2001-05-01 01:52:46 +04:00
|
|
|
$(SOLARIS_AS) -o $@ $(SOLARIS_AS_FLAGS) $<
|
2000-12-13 04:26:48 +03:00
|
|
|
|
2001-05-08 07:50:02 +04:00
|
|
|
$(OBJDIR)/mpmontg.o: mpmontg.c montmulf.h
|
|
|
|
|
2004-06-02 05:56:43 +04:00
|
|
|
endif
|
|
|
|
|
2000-12-28 06:39:01 +03:00
|
|
|
ifdef FREEBL_EXTENDED_BUILD
|
|
|
|
|
2002-02-16 01:54:08 +03:00
|
|
|
PURE32DIR = $(OBJDIR)/$(OS_TARGET)pure32
|
2000-12-28 06:39:01 +03:00
|
|
|
ALL_TRASH += $(PURE32DIR)
|
|
|
|
|
|
|
|
FILES2LN = \
|
|
|
|
$(wildcard *.tab) \
|
|
|
|
$(wildcard mapfile.*) \
|
|
|
|
Makefile manifest.mn config.mk
|
|
|
|
|
|
|
|
LINKEDFILES = $(addprefix $(PURE32DIR)/, $(FILES2LN))
|
|
|
|
|
2001-06-02 07:03:58 +04:00
|
|
|
CDDIR := $(shell pwd)
|
2001-05-01 01:52:46 +04:00
|
|
|
|
2000-12-28 06:39:01 +03:00
|
|
|
$(PURE32DIR):
|
|
|
|
-mkdir $(PURE32DIR)
|
2001-05-01 01:52:46 +04:00
|
|
|
-ln -s $(CDDIR)/mpi $(PURE32DIR)
|
2000-12-28 06:39:01 +03:00
|
|
|
|
|
|
|
$(LINKEDFILES) : $(PURE32DIR)/% : %
|
2001-05-01 01:52:46 +04:00
|
|
|
ln -s $(CDDIR)/$* $(PURE32DIR)
|
2000-12-28 06:39:01 +03:00
|
|
|
|
|
|
|
libs::
|
|
|
|
$(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_HYBRID=1 libs
|
|
|
|
|
|
|
|
libs:: $(PURE32DIR) $(LINKEDFILES)
|
2001-05-01 01:52:46 +04:00
|
|
|
cd $(PURE32DIR) && $(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_PURE_32=1 FREEBL_PARENT=$(CDDIR) CORE_DEPTH=$(CDDIR)/$(CORE_DEPTH) libs
|
2000-12-28 06:39:01 +03:00
|
|
|
|
2000-12-29 00:35:55 +03:00
|
|
|
release_md::
|
|
|
|
$(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_HYBRID=1 $@
|
2001-05-01 01:52:46 +04:00
|
|
|
cd $(PURE32DIR) && $(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_PURE_32=1 FREEBL_PARENT=$(CDDIR) CORE_DEPTH=$(CDDIR)/$(CORE_DEPTH) $@
|
2000-12-29 00:35:55 +03:00
|
|
|
|
2000-12-28 06:39:01 +03:00
|
|
|
endif
|
2003-08-23 02:34:07 +04:00
|
|
|
|
|
|
|
# Bugzilla Bug 209827: disable optimization to work around what appears
|
|
|
|
# to be a VACPP optimizer bug.
|
|
|
|
ifdef XP_OS2_VACPP
|
|
|
|
$(OBJDIR)/alg2268.obj: alg2268.c
|
|
|
|
@$(MAKE_OBJDIR)
|
|
|
|
$(CC) -Fo$@ -c $(filter-out /O+, $(CFLAGS)) $(call abspath,$<)
|
|
|
|
endif
|