mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 23:35:34 +00:00
1340edfe51
A new build tier is introduced: precompile. The intention is to replace the export subtier with something better and nonrecursive. IPDL and WebIDL code generation have been moved into this new tier and are performed concurrently. This appears to reduce build times due to fewer "single threaded" build actions. The subtier tracking UI has been updated to reflect operations that can occur in parallel. As subtiers are started, they turn yellow. They can then complete in any order. Nonrecursive targets have been added to preserve the IPDL and WebIDL build targets such that developers can type |make| from leaf directories like they have always done.
54 lines
1.5 KiB
Makefile
54 lines
1.5 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@
|
|
|
|
include $(DEPTH)/config/autoconf.mk
|
|
|
|
GARBAGE_DIRS += _ipdlheaders
|
|
GARBAGE += ipdl_lextab.py ipdl_yacctab.py $(wildcard *.pyc $(srcdir)/ipdl/*.pyc $(srcdir)/ipdl/cxx/*.pyc)
|
|
|
|
LIBRARY_NAME = mozipdlgen_s
|
|
LIBXUL_LIBRARY = 1
|
|
EXPORT_LIBRARY = 1
|
|
|
|
# This file is generated by the moz.build backend.
|
|
include ipdlsrcs.mk
|
|
|
|
GARBAGE += $(CPPSRCS)
|
|
|
|
LOCAL_INCLUDES += -I$(DEPTH)/ipc/ipdl/_ipdlheaders
|
|
|
|
|
|
include $(topsrcdir)/config/config.mk
|
|
include $(topsrcdir)/config/rules.mk
|
|
include $(topsrcdir)/ipc/chromium/chromium-config.mk
|
|
|
|
|
|
# NB: the IPDL compiler manages .ipdl-->.h/.cpp dependencies itself,
|
|
# which is why we don't have explicit .h/.cpp targets here
|
|
ipdl: $(ALL_IPDLSRCS)
|
|
$(PYTHON) $(topsrcdir)/config/pythonpath.py \
|
|
$(PLY_INCLUDE) \
|
|
$(srcdir)/ipdl.py \
|
|
--outheaders-dir=_ipdlheaders \
|
|
--outcpp-dir=. \
|
|
$(IPDLDIRS:%=-I%) \
|
|
$^
|
|
|
|
.PHONY: ipdl
|
|
|
|
# We #include some things in the dom/plugins/ directory that rely on
|
|
# toolkit libraries.
|
|
CXXFLAGS += $(TK_CFLAGS)
|
|
|
|
# This is only needed to support |make| from this leaf directory/Makefile.
|
|
NONRECURSIVE_TARGETS := export
|
|
NONRECURSIVE_TARGETS_export := ipdl
|
|
NONRECURSIVE_TARGETS_export_ipdl_DIRECTORY := .
|
|
NONRECURSIVE_TARGETS_export_ipdl_TARGETS := ipdl
|