| #! 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 |