blob: 3d87da2091e57d2dbc7b68fdd497a6bb930492c7 [file] [log] [blame]
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#! gmake
MOD_DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(MOD_DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
CSRCS = \
pralarm.c \
pratom.c \
prcountr.c \
prdtoa.c \
prenv.c \
prerr.c \
prerror.c \
prerrortable.c \
prinit.c \
prinrval.c \
pripc.c \
prlog2.c \
prlong.c \
prnetdb.c \
praton.c \
prolock.c \
prrng.c \
prsystem.c \
prtime.c \
prthinfo.c \
prtpool.c \
prtrace.c \
$(NULL)
ifndef USE_PTHREADS
CSRCS += \
pripcsem.c \
$(NULL)
endif
TARGETS = $(OBJS)
INCLUDES = -I$(dist_includedir) -I$(topsrcdir)/pr/include -I$(topsrcdir)/pr/include/private
DEFINES += -D_NSPR_BUILD_
RELEASE_BINS = $(srcdir)/compile-et.pl $(srcdir)/prerr.properties
include $(topsrcdir)/config/rules.mk
# Prevent floating point errors caused by MSVC 6.0 Processor Pack
# optimizations (bug 207421). This disables optimizations that
# could change the precision of floating-point calculations for
# this single compilation unit.
ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT)
$(OBJDIR)/prdtoa.$(OBJ_SUFFIX): prdtoa.c
@$(MAKE_OBJDIR)
ifeq (,$(filter-out 1100 1200 1300 1310,$(MSC_VER)))
$(CC) -Fo$@ -c $(CFLAGS) -Op $(call pr_abspath,$<)
else
$(CC) -Fo$@ -c $(CFLAGS) -fp:precise $(call pr_abspath,$<)
endif
endif
#
# Generate prerr.h, prerr.c, and prerr.properties from prerr.et.
#
build_prerr:
cd $(srcdir); $(PERL) compile-et.pl prerr.et
export:: $(TARGETS)