gecko-dev/dom/bindings/Makefile.in
Chris Manchester 399d530b9b Bug 1556185 - Ensure autoconf.mk is tracked as a dependency when preprocessing webidls. r=nalexander
webidlsrcs.mk is treated specially by the build system, and this entire
process should be supported better by moz.build, but in the meantime this
fixes the clobber bug caused by not re-building these targets when defines
are updated.

Differential Revision: https://phabricator.services.mozilla.com/D33415

--HG--
extra : moz-landing-system : lando
2019-06-03 20:33:36 +00:00

71 lines
1.7 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/.
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,$(srcdir))
@$(TOUCH) $@
.PHONY: compiletests
compiletests:
$(call SUBMAKE,libs,test)
endif
GARBAGE += \
webidl.stub \
codegen.pp \
codegen.json \
parser.out \
WebIDLGrammar.pkl \
$(wildcard *.h) \
$(wildcard *Binding.cpp) \
$(wildcard *Event.cpp) \
$(wildcard *-event.cpp) \
$(wildcard *.webidl) \
$(NULL)
DIST_GARBAGE += \
file-lists.json \
$(NULL)