mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-27 04:05:32 +00:00
![Chris Manchester](/assets/img/avatar_default.png)
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)
|