diff --git a/Makefile.in b/Makefile.in index 2cb7164ee281..ac7fc7df17ea 100644 --- a/Makefile.in +++ b/Makefile.in @@ -226,22 +226,27 @@ default all:: profiledbuild:: $(call BUILDSTATUS,TIERS pgo_profile_generate pgo_package pgo_profile pgo_clobber pgo_profile_use) $(call BUILDSTATUS,TIER_START pgo_profile_generate) - $(MAKE) MOZ_PROFILE_GENERATE=1 MOZ_PGO_INSTRUMENTED=1 + $(MAKE) default MOZ_PROFILE_GENERATE=1 MOZ_PGO_INSTRUMENTED=1 $(call BUILDSTATUS,TIER_FINISH pgo_profile_generate) $(call BUILDSTATUS,TIER_START pgo_package) $(MAKE) package MOZ_PGO_INSTRUMENTED=1 MOZ_INTERNAL_SIGNING_FORMAT= MOZ_EXTERNAL_SIGNING_FORMAT= rm -f jarlog/en-US.log $(call BUILDSTATUS,TIER_FINISH pgo_package) $(call BUILDSTATUS,TIER_START pgo_profile) - MOZ_PGO_INSTRUMENTED=1 JARLOG_FILE=jarlog/en-US.log EXTRA_TEST_ARGS=10 $(MAKE) pgo-profile-run + $(MAKE) pgo-profile-run MOZ_PGO_INSTRUMENTED=1 JARLOG_FILE=jarlog/en-US.log EXTRA_TEST_ARGS=10 $(call BUILDSTATUS,TIER_FINISH pgo_profile) $(call BUILDSTATUS,TIER_START pgo_clobber) $(MAKE) maybe_clobber_profiledbuild $(call BUILDSTATUS,TIER_FINISH pgo_clobber) $(call BUILDSTATUS,TIER_START pgo_profile_use) - $(MAKE) MOZ_PROFILE_USE=1 + $(MAKE) default MOZ_PROFILE_USE=1 $(call BUILDSTATUS,TIER_FINISH pgo_profile_use) +# Change default target to PGO build if PGO is enabled. +ifdef MOZ_PGO +OVERRIDE_DEFAULT_GOAL := profiledbuild +endif + include $(topsrcdir)/config/rules.mk ifdef SCCACHE_VERBOSE_STATS diff --git a/client.mk b/client.mk index 0bfb284851fe..fa0f0fcd02c4 100644 --- a/client.mk +++ b/client.mk @@ -86,8 +86,7 @@ endef # before evaluation. $(shell) replacing newlines with spaces, || is always # followed by a space (since sed doesn't remove newlines), except on the # last line, so replace both '|| ' and '||'. -# Also, make MOZ_PGO available to mozconfig when passed on make command line. -MOZCONFIG_CONTENT := $(subst ||,$(CR),$(subst || ,$(CR),$(shell MOZ_PGO=$(MOZ_PGO) $(TOPSRCDIR)/mach environment --format=client.mk | sed 's/$$/||/'))) +MOZCONFIG_CONTENT := $(subst ||,$(CR),$(subst || ,$(CR),$(shell $(TOPSRCDIR)/mach environment --format=client.mk | sed 's/$$/||/'))) $(eval $(MOZCONFIG_CONTENT)) export FOUND_MOZCONFIG @@ -104,9 +103,6 @@ MOZCONFIG_OUT_FILTERED := $(filter-out $(START_COMMENT)%,$(MOZCONFIG_OUT_LINES)) ifdef AUTOCLOBBER export AUTOCLOBBER=1 endif -ifdef MOZ_PGO -export MOZ_PGO -endif ifdef MOZ_PARALLEL_BUILD MOZ_MAKE_FLAGS := $(filter-out -j%,$(MOZ_MAKE_FLAGS)) @@ -290,7 +286,7 @@ endif # Build it build:: $(OBJDIR)/Makefile $(OBJDIR)/config.status - +$(MOZ_MAKE) $(if $(MOZ_PGO),profiledbuild) + +$(MOZ_MAKE) #################################### # Other targets diff --git a/python/mozbuild/mozbuild/test/backend/test_build.py b/python/mozbuild/mozbuild/test/backend/test_build.py index d3f5fb6a9d92..06c7332e2444 100644 --- a/python/mozbuild/mozbuild/test/backend/test_build.py +++ b/python/mozbuild/mozbuild/test/backend/test_build.py @@ -34,6 +34,7 @@ class TestBuild(unittest.TestCase): self._old_env = dict(os.environ) os.environ.pop('MOZCONFIG', None) os.environ.pop('MOZ_OBJDIR', None) + os.environ.pop('MOZ_PGO', None) def tearDown(self): os.environ.clear()