mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-27 02:43:07 +00:00
184 lines
7.3 KiB
Makefile
184 lines
7.3 KiB
Makefile
#
|
|
# 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/.
|
|
|
|
# Configuration information for building in the "Core Components" source module
|
|
|
|
#######################################################################
|
|
# [1.0] Master "Core Components" source and release <architecture> #
|
|
# tags #
|
|
#######################################################################
|
|
ifndef MK_ARCH
|
|
include $(CORE_DEPTH)/coreconf/arch.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [2.0] Master "Core Components" default command macros #
|
|
# (NOTE: may be overridden in $(OS_TARGET)$(OS_RELEASE).mk) #
|
|
#######################################################################
|
|
ifndef MK_COMMAND
|
|
include $(CORE_DEPTH)/coreconf/command.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [3.0] Master "Core Components" <architecture>-specific macros #
|
|
# (dependent upon <architecture> tags) #
|
|
# #
|
|
# We are moving towards just having a $(OS_TARGET).mk file #
|
|
# as opposed to multiple $(OS_TARGET)$(OS_RELEASE).mk files, #
|
|
# one for each OS release. #
|
|
#######################################################################
|
|
|
|
TARGET_OSES = FreeBSD BSD_OS NetBSD OpenUNIX OS2 QNX Darwin BeOS OpenBSD \
|
|
AIX RISCOS WINNT WIN95 Linux Android
|
|
|
|
ifeq (,$(filter-out $(TARGET_OSES),$(OS_TARGET)))
|
|
include $(CORE_DEPTH)/coreconf/$(OS_TARGET).mk
|
|
else
|
|
ifeq ($(OS_TARGET),SunOS)
|
|
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
|
else
|
|
include $(CORE_DEPTH)/coreconf/$(OS_TARGET)$(OS_RELEASE).mk
|
|
endif
|
|
endif
|
|
|
|
#######################################################################
|
|
# [4.0] Master "Core Components" source and release <platform> tags #
|
|
# (dependent upon <architecture> tags) #
|
|
#######################################################################
|
|
PLATFORM = $(OBJDIR_NAME)
|
|
|
|
#######################################################################
|
|
# [5.0] Master "Core Components" release <tree> tags #
|
|
# (dependent upon <architecture> tags) #
|
|
#######################################################################
|
|
ifndef MK_TREE
|
|
include $(CORE_DEPTH)/coreconf/tree.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [6.0] Master "Core Components" source and release <component> tags #
|
|
# NOTE: A component is also called a module or a subsystem. #
|
|
# (dependent upon $(MODULE) being defined on the #
|
|
# command line, as an environment variable, or in individual #
|
|
# makefiles, or more appropriately, manifest.mn) #
|
|
#######################################################################
|
|
ifndef MK_MODULE
|
|
include $(CORE_DEPTH)/coreconf/module.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [7.0] Master "Core Components" release <version> tags #
|
|
# (dependent upon $(MODULE) being defined on the #
|
|
# command line, as an environment variable, or in individual #
|
|
# makefiles, or more appropriately, manifest.mn) #
|
|
#######################################################################
|
|
ifndef MK_VERSION
|
|
include $(CORE_DEPTH)/coreconf/version.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [8.0] Master "Core Components" macros to figure out #
|
|
# binary code location #
|
|
# (dependent upon <platform> tags) #
|
|
#######################################################################
|
|
ifndef MK_LOCATION
|
|
include $(CORE_DEPTH)/coreconf/location.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [9.0] Master "Core Components" <component>-specific source path #
|
|
# (dependent upon <user_source_tree>, <source_component>, #
|
|
# <version>, and <platform> tags) #
|
|
#######################################################################
|
|
ifndef MK_SOURCE
|
|
include $(CORE_DEPTH)/coreconf/source.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [10.0] Master "Core Components" include switch for support header #
|
|
# files #
|
|
# (dependent upon <tree>, <component>, <version>, #
|
|
# and <platform> tags) #
|
|
#######################################################################
|
|
ifndef MK_HEADERS
|
|
include $(CORE_DEPTH)/coreconf/headers.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [11.0] Master "Core Components" for computing program prefixes #
|
|
#######################################################################
|
|
ifndef MK_PREFIX
|
|
include $(CORE_DEPTH)/coreconf/prefix.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [12.0] Master "Core Components" for computing program suffixes #
|
|
# (dependent upon <architecture> tags) #
|
|
#######################################################################
|
|
ifndef MK_SUFFIX
|
|
include $(CORE_DEPTH)/coreconf/suffix.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [13.0] Master "Core Components" for defining JDK #
|
|
# (dependent upon <architecture>, <source>, and <suffix> tags)#
|
|
#######################################################################
|
|
ifdef NS_USE_JDK
|
|
include $(CORE_DEPTH)/coreconf/jdk.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [14.0] Master "Core Components" rule set #
|
|
#######################################################################
|
|
ifndef MK_RULESET
|
|
include $(CORE_DEPTH)/coreconf/ruleset.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [15.0] Dependencies.
|
|
#######################################################################
|
|
|
|
-include $(MKDEPENDENCIES)
|
|
|
|
#######################################################################
|
|
# [16.0] Global environ ment defines
|
|
#######################################################################
|
|
|
|
ifdef NSS_ENABLE_ECC
|
|
DEFINES += -DNSS_ENABLE_ECC
|
|
endif
|
|
|
|
ifdef NSS_ECC_MORE_THAN_SUITE_B
|
|
DEFINES += -DNSS_ECC_MORE_THAN_SUITE_B
|
|
endif
|
|
|
|
ifdef NSS_ALLOW_UNSUPPORTED_CRITICAL
|
|
DEFINES += -DNSS_ALLOW_UNSUPPORTED_CRITICAL
|
|
endif
|
|
|
|
ifdef BUILD_LIBPKIX_TESTS
|
|
DEFINES += -DBUILD_LIBPKIX_TESTS
|
|
endif
|
|
|
|
ifdef NSS_DISABLE_DBM
|
|
DEFINES += -DNSS_DISABLE_DBM
|
|
endif
|
|
|
|
# Avoid building object leak test code for optimized library
|
|
ifndef BUILD_OPT
|
|
ifdef PKIX_OBJECT_LEAK_TEST
|
|
DEFINES += -DPKIX_OBJECT_LEAK_TEST
|
|
endif
|
|
endif
|
|
|
|
# This allows all library and tools code to use the util function
|
|
# implementations directly from libnssutil3, rather than the wrappers
|
|
# in libnss3 which are present for binary compatibility only
|
|
DEFINES += -DUSE_UTIL_DIRECTLY
|
|
USE_UTIL_DIRECTLY = 1
|
|
|
|
# Build with NO_NSPR_10_SUPPORT to avoid using obsolete NSPR features
|
|
DEFINES += -DNO_NSPR_10_SUPPORT
|