summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2001-06-13 22:53:34 +0000
committerwtc%netscape.com <devnull@localhost>2001-06-13 22:53:34 +0000
commit72f1bc94b774b7994b194bead5b3fc87a06c02a1 (patch)
tree4dcaf8867a671001f8f2c16f4252e0f0b6c9bf7f
parenta9541f6d9c3fdbb27ed1f3646f4fb71d527eb1a5 (diff)
downloadnss-hg-72f1bc94b774b7994b194bead5b3fc87a06c02a1.tar.gz
Bugzilla bug #83225: merged the BUILD_TREE feature onto the
NSS_3_2_BRANCH. This is patch id=36979. a=blizzard@mozilla.org. Modified Files: Tag: NSS_3_2_BRANCH coreconf/OS2.mk coreconf/UNIX.mk coreconf/WIN32.mk coreconf/location.mk coreconf/rules.mk coreconf/ruleset.mk coreconf/source.mk coreconf/nsinstall/Makefile nss/cmd/swfort/newuser/Makefile nss/lib/fortcrypt/Makefile nss/lib/fortcrypt/swfort/Makefile nss/lib/fortcrypt/swfort/manifest.mn nss/lib/fortcrypt/swfort/pkcs11/Makefile nss/lib/fortcrypt/swfort/pkcs11/manifest.mn nss/lib/freebl/Makefile
-rw-r--r--security/coreconf/OS2.mk4
-rw-r--r--security/coreconf/UNIX.mk5
-rw-r--r--security/coreconf/WIN32.mk4
-rw-r--r--security/coreconf/location.mk12
-rw-r--r--security/coreconf/nsinstall/Makefile9
-rw-r--r--security/coreconf/rules.mk61
-rw-r--r--security/coreconf/ruleset.mk16
-rw-r--r--security/coreconf/source.mk6
-rw-r--r--security/nss/cmd/swfort/newuser/Makefile16
-rw-r--r--security/nss/lib/fortcrypt/Makefile5
-rw-r--r--security/nss/lib/fortcrypt/swfort/Makefile7
-rw-r--r--security/nss/lib/fortcrypt/swfort/manifest.mn11
-rw-r--r--security/nss/lib/fortcrypt/swfort/pkcs11/Makefile10
-rw-r--r--security/nss/lib/fortcrypt/swfort/pkcs11/manifest.mn18
-rw-r--r--security/nss/lib/freebl/Makefile97
15 files changed, 131 insertions, 150 deletions
diff --git a/security/coreconf/OS2.mk b/security/coreconf/OS2.mk
index 5f914f63b..117e1e38d 100644
--- a/security/coreconf/OS2.mk
+++ b/security/coreconf/OS2.mk
@@ -173,7 +173,11 @@ endif # XP_OS2_VACPP
# OS/2 use nsinstall that is included in the toolkit.
# since we do not wish to support and maintain 3 version of nsinstall in mozilla, nspr and nss
+ifdef BUILD_TREE
+NSINSTALL_DIR = $(BUILD_TREE)/nss
+else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
+endif
# NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
NSINSTALL = nsinstall # HCT4OS2
INSTALL = $(NSINSTALL)
diff --git a/security/coreconf/UNIX.mk b/security/coreconf/UNIX.mk
index cbeac85fd..b47bb8ac4 100644
--- a/security/coreconf/UNIX.mk
+++ b/security/coreconf/UNIX.mk
@@ -46,8 +46,13 @@ else
DEFINES += -DDEBUG -UNDEBUG -DDEBUG_$(shell whoami)
endif
+ifdef BUILD_TREE
+NSINSTALL_DIR = $(BUILD_TREE)/nss
+NSINSTALL = $(BUILD_TREE)/nss/nsinstall
+else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
+endif
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend
diff --git a/security/coreconf/WIN32.mk b/security/coreconf/WIN32.mk
index 61563e49a..f961e3e51 100644
--- a/security/coreconf/WIN32.mk
+++ b/security/coreconf/WIN32.mk
@@ -46,7 +46,11 @@ AR += -NOLOGO -OUT:"$@"
RANLIB = echo
BSDECHO = echo
+ifdef BUILD_TREE
+NSINSTALL_DIR = $(BUILD_TREE)/nss
+else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
+endif
NSINSTALL = nsinstall
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
diff --git a/security/coreconf/location.mk b/security/coreconf/location.mk
index 7bb967d42..d235272ab 100644
--- a/security/coreconf/location.mk
+++ b/security/coreconf/location.mk
@@ -39,13 +39,17 @@
# Figure out where the binary code lives.
#
+ifdef BUILD_TREE
+BUILD = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
+OBJDIR = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
+DEPENDENCIES = $(BUILD_TREE)/nss/$(LIBRARY_NAME)/.md
+else
BUILD = $(PLATFORM)
OBJDIR = $(PLATFORM)
-
-DIST = $(CORE_DEPTH)/../dist/$(PLATFORM)
-
-VPATH = $(NSINSTALL_DIR)/$(PLATFORM)
DEPENDENCIES = $(PLATFORM)/.md
+endif
+
+DIST = $(SOURCE_PREFIX)/$(PLATFORM)
ifdef BUILD_DEBUG_GC
DEFINES += -DDEBUG_GC
diff --git a/security/coreconf/nsinstall/Makefile b/security/coreconf/nsinstall/Makefile
index 77fd9dacc..80534139c 100644
--- a/security/coreconf/nsinstall/Makefile
+++ b/security/coreconf/nsinstall/Makefile
@@ -42,6 +42,7 @@ PLSRCS = nfspwd.pl
PROGRAM = nsinstall
+
include $(DEPTH)/coreconf/config.mk
ifeq (,$(filter-out OS2 WINNT,$(OS_ARCH)))
@@ -50,6 +51,14 @@ else
TARGETS = $(PROGRAM) $(PLSRCS:.pl=)
endif
+ifdef NATIVE_CC
+CC=$(NATIVE_CC)
+endif
+
+ifdef NATIVE_FLAGS
+OS_CFLAGS=$(NATIVE_FLAGS)
+endif
+
include $(DEPTH)/coreconf/rules.mk
# Redefine MAKE_OBJDIR for just this directory
diff --git a/security/coreconf/rules.mk b/security/coreconf/rules.mk
index 64d623e8a..ec7d419d3 100644
--- a/security/coreconf/rules.mk
+++ b/security/coreconf/rules.mk
@@ -52,6 +52,13 @@ endif
platform::
@echo $(OBJDIR_NAME)
+ifeq ($(OS_ARCH), WINNT)
+USE_NT_C_SYNTAX=1
+endif
+
+ifdef XP_OS2_VACPP
+USE_NT_C_SYNTAX=1
+endif
#
# IMPORTS will always be associated with a component. Therefore,
@@ -304,7 +311,7 @@ ifeq ($(OS_TARGET),WIN16)
$(LINK) @w16link.
rm w16link
else
- $(MKPROG) $(OBJS) -Fe$@ -link $(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
+ $(MKPROG) $(subst /,\\,$(OBJS)) -Fe$@ -link $(LDFLAGS) $(subst /,\\,$(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS))
endif
else
ifdef XP_OS2_VACPP
@@ -323,7 +330,11 @@ get_objs:
$(LIBRARY): $(OBJS)
@$(MAKE_OBJDIR)
rm -f $@
+ifeq ($(OS_ARCH), WINNT)
+ $(AR) $(subst /,\\,$(OBJS))
+else
$(AR) $(OBJS)
+endif
$(RANLIB) $@
ifeq ($(OS_TARGET), WIN16)
@@ -339,8 +350,12 @@ $(IMPORT_LIBRARY): $(SHARED_LIBRARY)
endif
ifdef SHARED_LIBRARY_LIBS
+ifdef BUILD_TREE
+SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(shell $(MAKE) -C $(dir) --no-print-directory get_objs))
+else
SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(addprefix $(dir)/,$(shell $(MAKE) -C $(dir) --no-print-directory get_objs)))
endif
+endif
$(SHARED_LIBRARY): $(OBJS) $(MAPFILE)
@$(MAKE_OBJDIR)
@@ -369,7 +384,7 @@ ifeq ($(OS_TARGET), WIN16)
$(LINK) @w16link.
rm w16link
else
- $(LINK_DLL) -MAP $(DLLBASE) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS)
+ $(LINK_DLL) -MAP $(DLLBASE) $(subst /,\\,$(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS))
endif
else
ifeq ($(OS_ARCH),OS2)
@@ -453,39 +468,29 @@ WCCFLAGS3 := $(subst -D,-d,$(WCCFLAGS2))
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
@$(MAKE_OBJDIR)
-ifeq ($(OS_ARCH), WINNT)
-ifeq ($(OS_TARGET), WIN16)
- echo $(WCCFLAGS3) >w16wccf
- $(CC) -zq -fo$(OBJDIR)\\$(PROG_PREFIX)$*$(OBJ_SUFFIX) @w16wccf $*.c
- rm w16wccf
+ifdef USE_NT_C_SYNTAX
+ $(CC) -Fo$@ -c $(CFLAGS) $(subst /,\\,$<)
else
- $(CC) -Fo$@ -c $(CFLAGS) $*.c
-endif
-else
-ifdef XP_OS2_VACPP
- $(CC) -Fo$@ -c $(CFLAGS) $*.c
-else
- $(CC) -o $@ -c $(CFLAGS) $*.c
-endif
+ $(CC) -o $@ -c $(CFLAGS) $<
endif
ifneq ($(OS_ARCH), WINNT)
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.s
@$(MAKE_OBJDIR)
- $(AS) -o $@ $(ASFLAGS) -c $*.s
+ $(AS) -o $@ $(ASFLAGS) -c $<
endif
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.asm
@$(MAKE_OBJDIR)
- $(AS) -Fo$@ $(ASFLAGS) -c $*.asm
+ $(AS) -Fo$@ $(ASFLAGS) -c $<
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.S
@$(MAKE_OBJDIR)
- $(AS) -o $@ $(ASFLAGS) -c $*.S
+ $(AS) -o $@ $(ASFLAGS) -c $<
$(OBJDIR)/$(PROG_PREFIX)%: %.cpp
@$(MAKE_OBJDIR)
-ifeq ($(OS_ARCH), WINNT)
+ifdef USE_NT_C_SYNTAX
$(CCC) -Fo$@ -c $(CFLAGS) $<
else
$(CCC) -o $@ -c $(CFLAGS) $<
@@ -496,23 +501,19 @@ endif
#
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.cc
@$(MAKE_OBJDIR)
- $(CCC) -o $@ -c $(CFLAGS) $*.cc
+ $(CCC) -o $@ -c $(CFLAGS) $<
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.cpp
@$(MAKE_OBJDIR)
ifdef STRICT_CPLUSPLUS_SUFFIX
- echo "#line 1 \"$*.cpp\"" | cat - $*.cpp > $(OBJDIR)/t_$*.cc
+ echo "#line 1 \"$<\"" | cat - $< > $(OBJDIR)/t_$*.cc
$(CCC) -o $@ -c $(CFLAGS) $(OBJDIR)/t_$*.cc
rm -f $(OBJDIR)/t_$*.cc
else
-ifeq ($(OS_ARCH),WINNT)
- $(CCC) -Fo$@ -c $(CFLAGS) $*.cpp
-else
-ifdef XP_OS2_VACPP
- $(CCC) -Fo$@ -c $(CFLAGS) $*.cpp
+ifdef USE_NT_C_SYNTAX
+ $(CCC) -Fo$@ -c $(CFLAGS) $<
else
- $(CCC) -o $@ -c $(CFLAGS) $*.cpp
-endif
+ $(CCC) -o $@ -c $(CFLAGS) $<
endif
endif #STRICT_CPLUSPLUS_SUFFIX
@@ -837,7 +838,7 @@ $(PUBLIC_EXPORT_DIR)::
$(NSINSTALL) -D $@; \
fi
-export:: $(EXPORTS) $(PUBLIC_EXPORT_DIR)
+export:: $(EXPORTS) $(PUBLIC_EXPORT_DIR) $(BUILT_SRCS)
$(INSTALL) -m 444 $(EXPORTS) $(PUBLIC_EXPORT_DIR)
endif
@@ -1002,5 +1003,5 @@ endif
# Fake targets. Always run these rules, even if a file/directory with that
# name already exists.
#
-.PHONY: all all_platforms alltags boot clean clobber clobber_all export install libs realclean release $(OBJDIR) $(DIRS)
+.PHONY: all all_platforms alltags boot clean clobber clobber_all export install libs program realclean release $(OBJDIR) $(DIRS)
diff --git a/security/coreconf/ruleset.mk b/security/coreconf/ruleset.mk
index 6ddb78636..c293d93b2 100644
--- a/security/coreconf/ruleset.mk
+++ b/security/coreconf/ruleset.mk
@@ -200,10 +200,19 @@ ifndef OBJS
$(addsuffix $(OBJ_SUFFIX), $(JMC_GEN)) \
$(CSRCS:.c=$(OBJ_SUFFIX)) \
$(CPPSRCS:.cpp=$(OBJ_SUFFIX)) \
- $(ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX))
- OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
+ $(ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX)) \
+ $(BUILT_CSRCS:.c=$(OBJ_SUFFIX)) \
+ $(BUILT_CPPSRCS:.cpp=$(OBJ_SUFFIX)) \
+ $(BUILT_ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX))
+ OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
endif
+ifndef BUILT_SRCS
+ BUILT_SRCS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), \
+ $(BUILT_CSRCS) $(BUILT_CPPSRCS) $(BUILT_ASFILES))
+endif
+
+
ifeq ($(OS_TARGET), WIN16)
comma := ,
empty :=
@@ -237,7 +246,8 @@ ALL_TRASH := $(TARGETS) $(OBJS) $(OBJDIR) LOGS TAGS $(GARBAGE) \
$(JRI_HEADER_CFILES) $(JRI_STUB_CFILES) $(JNI_HEADERS) $(JMC_STUBS) \
$(JMC_HEADERS) $(JMC_EXPORT_FILES) so_locations \
_gen _jmc _jri _jni _stubs \
- $(wildcard $(JAVA_DESTPATH)/$(PACKAGE)/*.class)
+ $(wildcard $(JAVA_DESTPATH)/$(PACKAGE)/*.class) \
+ $(BUILT_SRCS)
ifdef JDIRS
ALL_TRASH += $(addprefix $(JAVA_DESTPATH)/,$(JDIRS))
diff --git a/security/coreconf/source.mk b/security/coreconf/source.mk
index edc78530e..170d7dc25 100644
--- a/security/coreconf/source.mk
+++ b/security/coreconf/source.mk
@@ -40,7 +40,11 @@
#
ifndef SOURCE_PREFIX
+ifndef BUILD_TREE
SOURCE_PREFIX = $(CORE_DEPTH)/../dist
+else
+SOURCE_PREFIX = $(BUILD_TREE)/dist
+endif
endif
#
@@ -83,7 +87,7 @@ ifndef SOURCE_BIN_DIR
SOURCE_BIN_DIR = $(SOURCE_MD_DIR)/bin
endif
-#This is where we install build libraries (.a, .so, .lib).
+#This is where we install built libraries (.a, .so, .lib).
ifndef SOURCE_LIB_DIR
SOURCE_LIB_DIR = $(SOURCE_MD_DIR)/lib
endif
diff --git a/security/nss/cmd/swfort/newuser/Makefile b/security/nss/cmd/swfort/newuser/Makefile
index d65b21949..f0a47a0a3 100644
--- a/security/nss/cmd/swfort/newuser/Makefile
+++ b/security/nss/cmd/swfort/newuser/Makefile
@@ -51,19 +51,15 @@ include $(CORE_DEPTH)/coreconf/config.mk
# (4) Include "local" platform-dependent assignments (OPTIONAL). #
#######################################################################
-# can't do this in manifest.mn because OS_ARCH isn't defined there.
-ifeq ($(OS_ARCH), WINNT)
-
-EXTRA_LIBS = \
- ../../../lib/fortcrypt/$(OBJDIR)/cilib.lib \
- $(NULL)
+ctmp := $(shell $(MAKE) -C ../../../lib/fortcrypt --no-print-directory cilib_name)
+ifeq ($(ctmp), $(patsubst /%,/,$(ctmp)))
+ CILIB := ../../../lib/fortcrypt/$(ctmp)
else
-
-EXTRA_LIBS += \
- ../../../lib/fortcrypt/$(OBJDIR)/cilib.$(LIB_SUFFIX) \
- $(NULL)
+ CILIB := $(ctmp)
endif
+EXTRA_LIBS += $(CILIB)
+
include ../../platlibs.mk
diff --git a/security/nss/lib/fortcrypt/Makefile b/security/nss/lib/fortcrypt/Makefile
index 9c047fa7f..32b8df58d 100644
--- a/security/nss/lib/fortcrypt/Makefile
+++ b/security/nss/lib/fortcrypt/Makefile
@@ -84,6 +84,9 @@ endif
$(SHARED_LIBRARY): $(CILIB) $(DIRS)
+cilib_name:
+ @echo $(CILIB)
+
$(CILIB):
@$(MAKE_OBJDIR)
@if test -f $(ORIG_CILIB); then \
@@ -106,7 +109,7 @@ endif
ifeq ($(OS_ARCH), WINNT)
$(STUBDLL): $(OBJDIR)/maci.o
- $(LINK_DLL) -MAP $(DLLBASE) $(OBJDIR)/maci.o $(OS_LIBS)
+ $(LINK_DLL) -MAP $(DLLBASE) $(subst /,\\,$(OBJDIR)/maci.o $(OS_LIBS))
$(OBJDIR)/maci.o: maci.c
$(CC) -Fo$@ -c $(CFLAGS) $<
diff --git a/security/nss/lib/fortcrypt/swfort/Makefile b/security/nss/lib/fortcrypt/swfort/Makefile
index 80b91c768..9c5e39de2 100644
--- a/security/nss/lib/fortcrypt/swfort/Makefile
+++ b/security/nss/lib/fortcrypt/swfort/Makefile
@@ -73,9 +73,10 @@ include $(CORE_DEPTH)/coreconf/rules.mk
#######################################################################
-nslib.c:: swflib.c nsmap.h
- rm -f nslib.c
- cat nsmap.h swflib.c > nslib.c
+$(OBJDIR)/nslib.c: nsmap.h swflib.c
+ @$(MAKE_OBJDIR)
+ rm -f $@
+ cat $+ > $@
export:: private_export
diff --git a/security/nss/lib/fortcrypt/swfort/manifest.mn b/security/nss/lib/fortcrypt/swfort/manifest.mn
index 5445af13b..c8f6f578f 100644
--- a/security/nss/lib/fortcrypt/swfort/manifest.mn
+++ b/security/nss/lib/fortcrypt/swfort/manifest.mn
@@ -36,21 +36,20 @@ MODULE = security
LIBRARY_NAME = swfci
#LIBRARY_VERSION = 12
+BUILT_CSRCS = nslib.c \
+ $(NULL)
+
CSRCS = swfalg.c \
swfparse.c \
swflib.c \
- nslib.c \
swfutl.c \
$(NULL)
-
DIRS = pkcs11
+VPATH = $(OBJDIR)
+
EXPORTS = swfort.h swfortt.h
PRIVATE_EXPORTS = swforti.h swfortti.h
REQUIRES = security dbm nspr
-
-GARBAGE = nslib.c
-
-
diff --git a/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile b/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile
index fff915e74..00c911bc6 100644
--- a/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile
+++ b/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile
@@ -125,16 +125,6 @@ endif
#$(SHARED_LIBRARY): $(SWCILIB)
-forsock.c: ../../forsock.c $(CP_INCLUDES)
- cp ../../forsock.c $(CP_INCLUDES) .
-
-fortpk11.c: ../../fortpk11.c
- cp ../../fortpk11.c .
-
-fmutex.c: ../../fmutex.c
- cp ../../fmutex.c .
-
-
#
# The following rules packages the shared library into a JAR,
# ready to be signed
diff --git a/security/nss/lib/fortcrypt/swfort/pkcs11/manifest.mn b/security/nss/lib/fortcrypt/swfort/pkcs11/manifest.mn
index eca9b5ab3..7ef8c2009 100644
--- a/security/nss/lib/fortcrypt/swfort/pkcs11/manifest.mn
+++ b/security/nss/lib/fortcrypt/swfort/pkcs11/manifest.mn
@@ -47,25 +47,15 @@ CSRCS = \
stub.c \
$(NULL)
+vpath %.c ../../
+INCLUDES = -I../..
+
EXPORTS =
REQUIRES = security dbm
-CP_INCLUDES = \
- ../../cryptint.h \
- ../../fmutex.h \
- ../../fortsock.h \
- ../../fpkcs11.h \
- ../../fpkcs11f.h \
- ../../fpkcs11i.h \
- ../../fpkcs11t.h \
- ../../fpkmem.h \
- ../../fpkstrs.h \
- ../../genci.h \
- ../../maci.h \
- $(NULL)
-CFLAGS += -DSWFORT
+DEFINES = -DSWFORT
GARBAGE = $(COPIED_CSRCS) cryptint.h fmutex.h fortsock.h fpkcs11.h \
fpkcs11f.h fpkcs11i.h fpkcs11t.h fpkmem.h fpkstrs.h genci.h maci.h
diff --git a/security/nss/lib/freebl/Makefile b/security/nss/lib/freebl/Makefile
index 09dd3b329..261b046dd 100644
--- a/security/nss/lib/freebl/Makefile
+++ b/security/nss/lib/freebl/Makefile
@@ -56,8 +56,6 @@ include $(CORE_DEPTH)/coreconf/config.mk
-include config.mk
-CPORLN = ln -s
-
ifdef USE_64
DEFINES += -DNSS_USE_64
endif
@@ -75,17 +73,12 @@ endif
endif
ifeq ($(OS_ARCH),WINNT)
-CPORLN = cp
ifneq ($(OS_TARGET),WIN16)
ASFILES = mpi_x86.asm
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D
endif
endif
-ifeq ($(OS_ARCH),OS2)
-CPORLN = cp
-endif
-
ifeq ($(OS_ARCH),IRIX)
ifeq ($(USE_N32),1)
ASFILES = mpi_mips.s
@@ -239,42 +232,22 @@ endif
$(NSINSTALL) -R $(BSAFEPATH) $(DIST)/lib
endif
-mp%.h : mpi/mp%.h
- -$(CPORLN) $< .
-
-mp%.c : mpi/mp%.c
- -$(CPORLN) $< .
-
-mp%.S : mpi/mp%.S
- -$(CPORLN) $< .
-
-mp%.s : mpi/mp%.s
- -$(CPORLN) $< .
-
-mp%.asm : mpi/mp%.asm
- -$(CPORLN) $< .
-
-logtab.h : mpi/logtab.h
- -$(CPORLN) $< .
-
-primes.c : mpi/primes.c
- -$(CPORLN) $< .
-
-vis%.il : mpi/vis%.il
- -$(CPORLN) $< .
-
-vis%.h : mpi/vis%.h
- -$(CPORLN) $< .
-
-mont% : mpi/mont%
- -$(CPORLN) $< .
-
-hp%.s : mpi/hp%.s
- -$(CPORLN) $< .
-
-.PRECIOUS : $(MPI_SRCS) $(MPI_HDRS) $(ASFILES)
+ifdef USE_PURE_32
+vpath %.h $(FREEBL_PARENT)/mpi:$(FREEBL_PARENT)
+vpath %.c $(FREEBL_PARENT)/mpi:$(FREEBL_PARENT)
+vpath %.S $(FREEBL_PARENT)/mpi:$(FREEBL_PARENT)
+vpath %.s $(FREEBL_PARENT)/mpi:$(FREEBL_PARENT)
+vpath %.asm $(FREEBL_PARENT)/mpi:$(FREEBL_PARENT)
+INCLUDES += -I$(FREEBL_PARENT) -I$(FREEBL_PARENT)/mpi
+else
+vpath %.h mpi
+vpath %.c mpi
+vpath %.S mpi
+vpath %.s mpi
+vpath %.asm mpi
+INCLUDES += -Impi
+endif
-ALL_TRASH += $(MPI_SRCS) $(MPI_HDRS) $(ASFILES) primes.c mont*
DEFINES += -DMP_API_COMPATIBLE
@@ -283,67 +256,55 @@ 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
+$(MPI_OBJS): $(MPI_HDRS)
-ifeq ($(SYSV_SPARC),1)
-SPARCFIX = $(OBJDIR)/sparcfix
+$(OBJDIR)/$(PROG_PREFIX)mpprime$(OBJ_SUFFIX): primes.c
-$(SPARCFIX): sparcfix.c
- @$(MAKE_OBJDIR)
- $(CC) -o $@ -O sparcfix.c -lelf
+$(OBJDIR)/ldvector$(OBJ_SUFFIX) $(OBJDIR)/loader$(OBJ_SUFFIX) : loader.h
+
+ifeq ($(SYSV_SPARC),1)
-#$(OBJDIR)/mpv_sparcv8.o $(OBJDIR)/montmulfv8.o : $(OBJDIR)/%.o : %.s $(SPARCFIX)
$(OBJDIR)/mpv_sparcv8.o $(OBJDIR)/montmulfv8.o : $(OBJDIR)/%.o : %.s
@$(MAKE_OBJDIR)
- $(SOLARIS_AS) -o $@ $(SOLARIS_AS_FLAGS) $*.s
-# $(SPARCFIX) $@
+ $(SOLARIS_AS) -o $@ $(SOLARIS_AS_FLAGS) $<
$(OBJDIR)/mpv_sparcv9.o $(OBJDIR)/montmulfv9.o : $(OBJDIR)/%.o : %.s
@$(MAKE_OBJDIR)
- $(SOLARIS_AS) -o $@ $(SOLARIS_AS_FLAGS) $*.s
-
-$(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
+ $(SOLARIS_AS) -o $@ $(SOLARIS_AS_FLAGS) $<
$(OBJDIR)/mpmontg.o: mpmontg.c montmulf.h
-endif
-ifeq ($(OS_ARCH), HP-UX)
-$(OBJDIR)/mpmontg.o: mpmontg.c montmulf.h
endif
-$(OBJDIR)/ldvector.o $(OBJDIR)/loader.o : loader.h
-
ifdef FREEBL_EXTENDED_BUILD
-PURE32DIR = $(OS_ARCH)pure32
+PURE32DIR = $(OBJDIR)/$(OS_ARCH)pure32
ALL_TRASH += $(PURE32DIR)
FILES2LN = \
- $(ALL_HDRS) \
- $(ALL_CSRCS) \
$(wildcard *.tab) \
$(wildcard mapfile.*) \
Makefile manifest.mn config.mk
LINKEDFILES = $(addprefix $(PURE32DIR)/, $(FILES2LN))
+CDDIR := $(shell pwd)
+
$(PURE32DIR):
-mkdir $(PURE32DIR)
- -ln -s ../mpi $(PURE32DIR)
+ -ln -s $(CDDIR)/mpi $(PURE32DIR)
$(LINKEDFILES) : $(PURE32DIR)/% : %
- ln -s ../$* $(PURE32DIR)
+ ln -s $(CDDIR)/$* $(PURE32DIR)
libs::
$(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_HYBRID=1 libs
libs:: $(PURE32DIR) $(LINKEDFILES)
- cd $(PURE32DIR) && $(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_PURE_32=1 libs
+ cd $(PURE32DIR) && $(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_PURE_32=1 FREEBL_PARENT=$(CDDIR) CORE_DEPTH=$(CDDIR)/$(CORE_DEPTH) libs
release_md::
$(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_HYBRID=1 $@
- cd $(PURE32DIR) && $(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_PURE_32=1 $@
+ cd $(PURE32DIR) && $(MAKE) FREEBL_RECURSIVE_BUILD=1 USE_PURE_32=1 FREEBL_PARENT=$(CDDIR) CORE_DEPTH=$(CDDIR)/$(CORE_DEPTH) $@
endif