109 строки
3.2 KiB
Makefile
109 строки
3.2 KiB
Makefile
# 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/.
|
|
|
|
DEPTH = @DEPTH@
|
|
topsrcdir = @top_srcdir@
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
ifndef .PYMAKE
|
|
ifeq (,$(MAKE_VERSION))
|
|
$(error GNU Make is required)
|
|
endif
|
|
ifeq (,$(filter-out 3.78 3.79,$(MAKE_VERSION)))
|
|
$(error GNU Make 3.80 or higher is required)
|
|
endif
|
|
endif
|
|
|
|
include $(DEPTH)/config/autoconf.mk
|
|
|
|
default::
|
|
|
|
ifdef COMPILE_ENVIRONMENT
|
|
include $(topsrcdir)/$(MOZ_BUILD_APP)/build.mk
|
|
endif
|
|
|
|
include $(topsrcdir)/config/config.mk
|
|
|
|
libs binaries export tools:: $(topsrcdir)/configure config.status
|
|
|
|
$(topsrcdir)/configure: $(topsrcdir)/configure.in
|
|
@echo 'STOP! configure.in has changed, and your configure is out of date.'
|
|
@echo 'Please rerun autoconf and configure.'
|
|
@echo 'To ignore this message, touch "configure" in the source directory.'
|
|
@exit 1
|
|
|
|
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.'
|
|
@exit 1
|
|
|
|
default export libs clean realclean distclean alldep \
|
|
package installer package-compare stage-package install source-package \
|
|
upload source-upload hg-bundle l10n-check \
|
|
maybe_clobber_profiledbuild uploadsymbols all:: $(SUBMAKEFILES)
|
|
$(MAKE) -C mozilla $@
|
|
|
|
ifdef ENABLE_TESTS
|
|
check mochitest reftest crashtest xpcshell-tests:: $(SUBMAKEFILES)
|
|
$(MAKE) -C mozilla $@
|
|
|
|
mochitest-% :: $(SUBMAKEFILES)
|
|
$(MAKE) -C mozilla $@
|
|
|
|
check-sync-dirs::
|
|
@$(PYTHON) $(topsrcdir)/mail/check-sync-dirs.py \
|
|
$(topsrcdir)/build $(topsrcdir)/mozilla/build
|
|
@$(PYTHON) $(topsrcdir)/mail/check-sync-dirs.py \
|
|
$(topsrcdir)/config/makefiles $(topsrcdir)/mozilla/config/makefiles
|
|
|
|
check:: check-sync-dirs
|
|
|
|
package-tests:: $(SUBMAKEFILES)
|
|
$(MAKE) -C mozilla $@
|
|
endif
|
|
|
|
# http://bugzilla.mozilla.org/show_bug.cgi?id=450485
|
|
MAKE_SYM_STORE_PATH=dist/bin
|
|
ifeq ($(OS_ARCH),Darwin)
|
|
ifdef UNIVERSAL_BINARY
|
|
MAKE_SYM_STORE_PATH=dist/universal
|
|
endif
|
|
endif
|
|
|
|
include $(topsrcdir)/mozilla/toolkit/mozapps/installer/package-name.mk
|
|
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
# PDB files don't get moved to dist, so we need to scan the whole objdir
|
|
MAKE_SYM_STORE_PATH=..
|
|
endif
|
|
|
|
buildsymbols :: $(SUBMAKEFILES)
|
|
$(MAKE) -C mozilla MAKE_SYM_STORE_PATH=$(MAKE_SYM_STORE_PATH) SYM_STORE_SOURCE_DIRS='$(topsrcdir)/mozilla/extensions/inspector $(topsrcdir)/ldap/sdks $(topsrcdir)/mozilla $(topsrcdir)' $@
|
|
|
|
# If we don't specify this, then we will end up trying to build as if we were a
|
|
# regular directory in the build tree.
|
|
SUPPRESS_DEFAULT_RULES := 1
|
|
|
|
default all::
|
|
$(call BUILDSTATUS,TIERS export $(if $(COMPILE_ENVIRONMENT),compile )libs tools)
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
# MOZ_SOURCE_STAMP is defined in (mozilla/.../)package-name.mk with a deferred
|
|
# assignment. Exporting it makes make run its $(shell) command for each invoked
|
|
# submake, so transform it to an immediate assignment.
|
|
MOZ_SOURCE_STAMP := $(MOZ_SOURCE_STAMP)
|
|
export MOZ_SOURCE_STAMP
|
|
|
|
DIST_GARBAGE = config.cache config.log config.status* config-defs.h \
|
|
config/autoconf.mk \
|
|
unallmakefiles \
|
|
.mozconfig.mk
|
|
|
|
distclean::
|
|
cat unallmakefiles | $(XARGS) rm -f
|
|
rm -f $(DIST_GARBAGE)
|