summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2020-05-05 12:28:43 +0000
committerJan-Marek Glogowski <glogow@fbihome.de>2020-05-05 12:28:43 +0000
commit67fdc06273c2a423e32d6e78f9ae046a7ef3a9db (patch)
tree29b2d07fdb87b65acb4641bc851564a8dd263ea2 /Makefile
parente41bdc85df87fec3dbdce52568d217ae0d58127c (diff)
downloadnss-hg-67fdc06273c2a423e32d6e78f9ae046a7ef3a9db.tar.gz
Bug 290526 Parallelize part of the NSS build r=rrelyea
This still serializes many targets, but at least these targets themself run their build in parallel. The main serialization happens in nss/Makefile and nss/coreconf/rules.mk's all target. We can't add these as real dependencies, as all Makefile snippets use the same variable names. I tried to always run sub-makes to hack in the depndencies, but these don't know of each other, so targets very often run twice, and this breaks the build. Having a tests:: target and a tests directory leads to misery (and doesn't work), so it's renamed to check. This just works with NSS_DISABLE_GTESTS=1 specified and is fixed by a follow up patch, which removes the double-colon usage and adds the directory dependencies! Differential Revision: https://phabricator.services.mozilla.com/D69019
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile11
1 files changed, 8 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 2dc8de112..f207bd460 100644
--- a/Makefile
+++ b/Makefile
@@ -47,9 +47,14 @@ include $(CORE_DEPTH)/coreconf/rules.mk
# (7) Execute "local" rules. (OPTIONAL). #
#######################################################################
-nss_build_all: build_nspr all latest
-
-nss_clean_all: clobber_nspr clobber
+nss_build_all::
+ $(MAKE) build_nspr
+ $(MAKE) all
+ $(MAKE) latest
+
+nss_clean_all::
+ $(MAKE) clobber_nspr
+ $(MAKE) clobber
NSPR_CONFIG_STATUS = $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/config.status
NSPR_CONFIGURE = $(CORE_DEPTH)/../nspr/configure