Bug 912795 - make export doesn't handle install/purge manifests. r=gps
authorMike Hommey <mh+mozilla@glandium.org>
Thu, 05 Sep 2013 15:07:57 +0900
changeset 158623 1f5999955661b10576949419a0826102d5588afd
parent 158622 901804d26f9f0917e5c522cd82f08e3e639761ac
child 158624 84290b641e24da21476ddfadac0642b9a06b6fab
push id2961
push userlsblakk@mozilla.com
push dateMon, 28 Oct 2013 21:59:28 +0000
treeherdermozilla-beta@73ef4f13486f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs912795
milestone26.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 912795 - make export doesn't handle install/purge manifests. r=gps At the same time, fix a few things in the top-level Makefile.in.
Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -47,18 +47,20 @@ ifndef MOZ_PROFILE_USE
 # a common directory. Each manifest is responsible for defining files in
 # a specific subdirectory of the object directory. The invoked Python
 # script simply iterates over all the manifests, purging files as
 # necessary. To manage new directories or add files to the manifests,
 # modify the backend generator.
 #
 # We need to explicitly put backend.RecursiveMakeBackend.built here
 # otherwise the rule in rules.mk doesn't run early enough.
-default alldep all:: CLOBBER $(topsrcdir)/configure config.status backend.RecursiveMakeBackend.built
+default all export libs tools:: CLOBBER $(topsrcdir)/configure config.status backend.RecursiveMakeBackend.built
 	$(call SUBMAKE,backend.RecursiveMakeBackend.built,js/src,1)
+
+default all export::
 	$(call py_action,purge_manifests,-d _build_manifests/purge .)
 endif
 
 CLOBBER: $(topsrcdir)/CLOBBER
 	@echo "STOP!  The CLOBBER file has changed."
 	@echo "Please run the build through a sanctioned build wrapper, such as"
 	@echo "'mach build' or client.mk."
 	@exit 1
@@ -72,32 +74,33 @@ CLOBBER: $(topsrcdir)/CLOBBER
 
 config.status: $(topsrcdir)/configure
 	@echo "STOP!  configure has changed and needs to be run in this build directory."
 	@echo "Please rerun configure."
 	@echo "To ignore this message, touch 'config.status' in the build directory,"
 	@echo "but your build might not succeed."
 	@exit 1
 
-# Build pseudo-external modules first when export is explicitly called
-export::
+default all export::
 	$(RM) -r $(DIST)/sdk
 
 ifdef ENABLE_TESTS
 # Additional makefile targets to call automated test suites
 include $(topsrcdir)/testing/testsuite-targets.mk
 endif
 
 # Hacky way for precompile tier to bypass default tier traversal mechanism.
 TIER_precompile_CUSTOM := 1
 
+default all export::
+	$(call py_action,process_install_manifest,$(DIST)/include _build_manifests/install/dist_include js/src/_build_manifests/install/dist_include)
+
 include $(topsrcdir)/config/rules.mk
 
-default all alldep::
-	$(call py_action,process_install_manifest,$(DIST)/include _build_manifests/install/dist_include js/src/_build_manifests/install/dist_include)
+default all::
 	$(call BUILDSTATUS,TIERS $(TIERS))
 	$(foreach tier,$(TIERS),$(call SUBMAKE,tier_$(tier)))
 
 include $(topsrcdir)/config/makefiles/tiers.mk
 $(foreach tier,$(TIERS),$(eval $(call CREATE_TIER_RULE,$(tier))))
 
 distclean::
 	$(RM) $(DIST_GARBAGE)