Source code

Revision control

Copy as Markdown

Other Tools

# 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/.
webidl_base := $(topsrcdir)/dom/webidl
ifdef COMPILE_ENVIRONMENT
# Akin to GLOBAL_DEPS, but set early enough that webidlsrcs.mk
# can make use of them as dependencies.
WEBIDL_PP_DEPS := \
backend.mk \
Makefile \
$(DEPTH)/config/autoconf.mk \
$(topsrcdir)/config/config.mk \
$(NULL)
# Generated by moz.build
include webidlsrcs.mk
# These come from webidlsrcs.mk.
# TODO Write directly into backend.mk (bug 1281618)
CPPSRCS += $(globalgen_sources) $(unified_binding_cpp_files)
include $(topsrcdir)/config/rules.mk
# Most of the logic for dependencies lives inside Python so it can be
# used by multiple build backends. We simply have rules to generate
# and include the .pp file.
#
# The generated .pp file contains all the important dependencies such as
# changes to .webidl or .py files should result in code generation being
# performed. But we do pull in file-lists.jon to catch file additions.
codegen_dependencies := \
file-lists.json \
$(nonstatic_webidl_files) \
$(GLOBAL_DEPS) \
$(NULL)
export:: webidl.stub
# codegen.pp is created as a side-effect of the webidl action
-include codegen.pp
webidl.stub: $(codegen_dependencies)
$(call py_action,webidl $(relativesrcdir),$(srcdir))
@$(TOUCH) $@
.PHONY: compiletests
compiletests:
$(call SUBMAKE,libs,test)
endif