109 lines
2.9 KiB
Makefile
109 lines
2.9 KiB
Makefile
#! gmake
|
|
#
|
|
# 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/.
|
|
|
|
CORE_DEPTH = ..
|
|
DEPTH = ..
|
|
|
|
include $(CORE_DEPTH)/coreconf/config.mk
|
|
|
|
# This "jungle" of conditionals evaluates which DIRS to build!
|
|
# The main reason for it is AFAIK /automation/taskcluster/scripts/split.sh
|
|
#
|
|
# The fundamental organisation is:
|
|
# if NSS_BUILD_UTIL_ONLY
|
|
# else
|
|
# if NSS_BUILD_SOFTOKEN_ONLY
|
|
# else # build "all" the rest of NSS
|
|
# endif
|
|
#
|
|
# But there is even some build (NSS_BUILD_WITHOUT_SOFTOKEN), which
|
|
# depends on a previous partial build!
|
|
#
|
|
# FWIW, the dependencies are sorted and "compacted" instead of single
|
|
# lines for smaller patches, as these probably won't change much and
|
|
# it's easier to read this way.
|
|
|
|
# Building softoken (and freebl) only requires that the paths
|
|
# to the locations where the util headers and libraries were
|
|
# previously installed by a prior util-only build - likely in
|
|
# in a system location that varies with the distribution. This
|
|
# cannot be addressed here and requires that downstream package
|
|
# mantainers add suitable modifications. Building full nss will
|
|
# not have that problem as everything is available.
|
|
|
|
ifndef USE_SYSTEM_ZLIB
|
|
ZLIB_SRCDIR = zlib
|
|
endif
|
|
|
|
ifndef MOZILLA_CLIENT
|
|
ifndef NSS_USE_SYSTEM_SQLITE
|
|
SQLITE_SRCDIR = sqlite
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH),Linux)
|
|
SYSINIT_SRCDIR = sysinit
|
|
endif
|
|
endif # MOZILLA_CLIENT
|
|
|
|
ifndef NSS_DISABLE_DBM
|
|
DBM_SRCDIR = dbm
|
|
endif
|
|
|
|
ifndef NSS_DISABLE_LIBPKIX
|
|
LIBPKIX_SRCDIR = libpkix
|
|
endif
|
|
|
|
ifeq ($(NSS_BUILD_UTIL_ONLY),1)
|
|
UTIL_SRCDIR = util
|
|
|
|
else
|
|
ifeq ($(NSS_BUILD_SOFTOKEN_ONLY),1)
|
|
FREEBL_SRCDIR = freebl
|
|
SOFTOKEN_SRCDIR = softoken
|
|
else
|
|
# Not included when building nss without softoken
|
|
# This build type uses the build results of the prior
|
|
# NSS_BUILD_UTIL_ONLY and NSS_BUILD_SOFTOKEN_ONLY builds
|
|
ifneq ($(NSS_BUILD_WITHOUT_SOFTOKEN),1)
|
|
FREEBL_SRCDIR = freebl
|
|
SOFTOKEN_SRCDIR = softoken
|
|
UTIL_SRCDIR = util
|
|
endif
|
|
endif
|
|
|
|
SOFTOKEN_SRCDIRS = \
|
|
$(DBM_SRCDIR) $(FREEBL_SRCDIR) $(SOFTOKEN_SRCDIR) \
|
|
$(SQLITE_SRCDIR) $(NULL)
|
|
|
|
ifneq (,$(FREEBL_SRCDIR))
|
|
$(FREEBL_SRCDIR): $(UTIL_SRCDIR)
|
|
endif
|
|
|
|
ifneq (,$(SOFTOKEN_SRCDIR))
|
|
$(SOFTOKEN_SRCDIR): $(DBM_SRCDIR) $(FREEBL_SRCDIR) $(SQLITE_SRCDIR) $(UTIL_SRCDIR)
|
|
endif
|
|
|
|
ifndef NSS_BUILD_SOFTOKEN_ONLY
|
|
NSS_SRCDIRS = \
|
|
base certdb certhigh ckfw crmf cryptohi dev jar $(LIBPKIX_SRCDIR) \
|
|
nss pk11wrap pkcs12 pkcs7 pki smime ssl $(SYSINIT_SRCDIR) $(ZLIB_SRCDIR)
|
|
|
|
ifneq (,$(SYSINIT_SRCDIR))
|
|
$(SYSINIT_SRCDIR): $(UTIL_SRCDIR)
|
|
endif
|
|
|
|
nss: base certdb certhigh cryptohi dev $(LIBPKIX_SRCDIR) pk11wrap pki $(UTIL_SRCDIR)
|
|
smime: nss pkcs7 pkcs12
|
|
ssl: nss
|
|
ckfw: nss
|
|
|
|
endif # !NSS_BUILD_SOFTOKEN_ONLY
|
|
endif # !NSS_BUILD_UTIL_ONLY
|
|
|
|
DIRS = \
|
|
$(NSS_SRCDIRS) $(SOFTOKEN_SRCDIRS) $(UTIL_SRCDIR) $(NULL)
|
|
|
|
include $(CORE_DEPTH)/coreconf/rules.mk
|