mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 01:35:35 +00:00
399d530b9b
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
71 lines
1.7 KiB
Makefile
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)
|