Allow shared objects to be built of archives on Unix

This commit is contained in:
spider 1998-05-14 22:38:21 +00:00
Родитель 63feccd0dd
Коммит fc1d731a42
5 изменённых файлов: 16 добавлений и 9 удалений

Просмотреть файл

@ -38,10 +38,11 @@ MKDEPENDENCIES = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/depend.mk
GUI_LIBS = -lXt -lX11
OPT_SLASH = /
LIB_PREFIX = lib
LIB_SUFFIX = .a
LIB_SUFFIX = a
NSPR_LIBS = plds21 plc21 nspr21 msgc21
LINK_PROGRAM = $(CC)
XP_REG_LIB = reg
ARCHIVE_SUFFIX =
####################################################################
#

Просмотреть файл

@ -43,7 +43,7 @@ PDB = /PDB:$(PDBFILE)
IMPFILE = $(PROGRAM:.exe=.lib)
IMP = /IMPLIB:$(IMPFILE)
XP_DEFINE += -DXP_PC
LIB_SUFFIX = .lib
LIB_SUFFIX = lib
DLL_SUFFIX = dll
OUT_NAME = -out:
ARCHIVE_SUFFIX = _s

Просмотреть файл

@ -235,8 +235,10 @@ $(LIBRARY): $(OBJS) $(AR_LIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(AR) $(OBJS) $(AR_LIBS)
ifeq ($(OS_ARCH), WINNT)
ifdef AR_LIBS
+$(EXTRACT_OBJS)
endif
endif
$(RANLIB) $@

Просмотреть файл

@ -106,14 +106,14 @@ ifdef LIBRARY_NAME
# Win16 requires library names conforming to the 8.3 rule.
# other platforms do not.
#
LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)$(ARCHIVE_SUFFIX)$(LIB_SUFFIX)
ifdef MKSHLIB
LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)$(ARCHIVE_SUFFIX)$(STATIC_LIB_SUFFIX)
ifndef ARCHIVE_ONLY
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION).dll
IMPORT_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)$(LIB_SUFFIX)
endif
else
LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME).$(LIB_SUFFIX)
ifdef MKSHLIB
LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)$(STATIC_LIB_SUFFIX)
ifndef ARCHIVE_ONLY
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)_shr.a
else
@ -147,17 +147,17 @@ endif
# Rules to convert EXTRA_LIBS to platform-dependent naming scheme
ifdef EXTRA_LIBS
EXTRA_LIBS := $(addprefix $(CONFIG_DIST_LIB)$(OPT_SLASH)$(LIB_PREFIX), $(EXTRA_LIBS:%=%$(LIB_SUFFIX)))
EXTRA_LIBS := $(addprefix $(CONFIG_DIST_LIB)$(OPT_SLASH)$(LIB_PREFIX), $(EXTRA_LIBS:%=%$(STATIC_LIB_SUFFIX)))
endif
# Rules to convert EXTRA_LIBS to platform-dependent naming scheme
ifdef AR_LIBS
AR_LIBS := $(addprefix $(CONFIG_DIST_LIB)$(OPT_SLASH)$(LIB_PREFIX), $(AR_LIBS:%=%$(LIB_SUFFIX)))
AR_LIBS := $(addprefix $(CONFIG_DIST_LIB)$(OPT_SLASH)$(LIB_PREFIX), $(AR_LIBS:%=%$(LIBRARY_VERSION)$(ARCHIVE_SUFFIX)$(STATIC_LIB_SUFFIX)))
endif
ifdef LIBRARY
# LIBRARY := $(addprefix $(OBJDIR)/, $(LIBRARY))
ifdef MKSHLIB
ifndef ARCHIVE_ONLY
ifeq ($(OS_ARCH),WINNT)
ifndef LIBRARY_NAME
SHARED_LIBRARY = $(LIBRARY:.lib=.dll)

Просмотреть файл

@ -60,6 +60,10 @@ ifndef RELEASE_VERSION
RELEASE_VERSION =
endif
ifndef LIBRARY_VERSION
LIBRARY_VERSION = 10
endif
#
# Set <component>-specific versions for compiliation and linkage.
#