blob: 5599ce7d5d1b7083427439564db1d1142c322940 [file] [log] [blame]
#
# ***** 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.
#
# The Original Code is the Netscape Portable Runtime (NSPR).
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998-2000
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# 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.
#
# ***** END LICENSE BLOCK *****
MOD_DEPTH = ../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(MOD_DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
CSRCS = \
unix.c \
unix_errors.c \
uxproces.c \
uxrng.c \
uxshm.c \
uxwrap.c \
$(NULL)
ifneq ($(USE_PTHREADS),1)
CSRCS += uxpoll.c
endif
ifeq ($(PTHREADS_USER),1)
CSRCS += pthreads_user.c
endif
CSRCS += $(PR_MD_CSRCS)
ASFILES += $(PR_MD_ASFILES)
TARGETS = $(OBJS)
ifeq ($(OS_ARCH),SunOS)
ifneq ($(OS_RELEASE),4.1.3_U1)
ifeq ($(CPU_ARCH),sparc)
ifdef USE_64
ULTRASPARC_ASFILES = os_SunOS_sparcv9.s
ULTRASPARC_ASOBJS = $(addprefix $(OBJDIR)/,$(ULTRASPARC_ASFILES:.s=.$(OBJ_SUFFIX)))
else
LIBRARY_NAME = $(ULTRASPARC_LIBRARY)
LIBRARY_VERSION = $(MOD_MAJOR_VERSION)
ULTRASPARC_ASFILES = os_SunOS_ultrasparc.s
ULTRASPARC_ASOBJS = $(addprefix $(OBJDIR)/,$(ULTRASPARC_ASFILES:.s=.$(OBJ_SUFFIX)))
TARGETS += $(ULTRASPARC_ASOBJS) $(SHARED_LIBRARY)
RELEASE_LIBS = $(SHARED_LIBRARY)
RELEASE_LIBS_DEST = $(RELEASE_LIB_DIR)/cpu/sparcv8plus
lib_subdir = cpu/sparcv8plus
endif
endif
endif
endif
INCLUDES = -I$(dist_includedir) -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
DEFINES += -D_NSPR_BUILD_
include $(topsrcdir)/config/rules.mk
export:: $(TARGETS)
ifeq ($(OS_ARCH),SunOS)
ifneq ($(OS_RELEASE),4.1.3_U1)
ifeq ($(CPU_ARCH),sparc)
ifdef USE_64
$(ULTRASPARC_ASOBJS): $(ULTRASPARC_ASFILES)
/usr/ccs/bin/as -o $@ -K PIC -P -D_ASM -D__STDC__=0 -xarch=v9 $<
else
$(SHARED_LIBRARY): $(ULTRASPARC_ASOBJS)
$(LD) -G -z text -z endfiltee -o $@ $(ULTRASPARC_ASOBJS)
$(INSTALL) -m 444 $@ $(dist_libdir)/cpu/sparcv8plus
$(INSTALL) -m 444 $@ $(dist_bindir)/cpu/sparcv8plus
#
# The -f $(ORIGIN)/... linker flag uses the real file, after symbolic links
# are resolved, as the origin. If NSDISTMODE is not "copy", libnspr4.so
# will be installed as a symbolic link in $(dist_libdir), pointing to the
# real libnspr4.so file in pr/src. Therefore we need to install an
# additional copy of libnspr_flt4.so in pr/src/cpu/sparcv8plus.
#
ifneq ($(NSDISTMODE),copy)
$(INSTALL) -m 444 $@ ../../cpu/sparcv8plus
endif
ifneq ($(NSDISTMODE),copy)
clobber realclean clobber_all distclean::
rm -rf ../../cpu
endif
$(ULTRASPARC_ASOBJS): $(ULTRASPARC_ASFILES)
/usr/ccs/bin/as -o $@ -K PIC -P -D_ASM -D__STDC__=0 -xarch=v8plus $<
clean::
rm -rf $(ULTRASPARC_ASOBJS)
endif
endif
endif
endif