dom/bindings/Makefile.in

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/bindings/Makefile.in	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,87 @@
     1.4 +# This Source Code Form is subject to the terms of the Mozilla Public
     1.5 +# License, v. 2.0. If a copy of the MPL was not distributed with this
     1.6 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
     1.7 +
     1.8 +abs_dist := $(abspath $(DIST))
     1.9 +webidl_base := $(topsrcdir)/dom/webidl
    1.10 +
    1.11 +# Generated by moz.build
    1.12 +include webidlsrcs.mk
    1.13 +
    1.14 +ifdef GNU_CC
    1.15 +OS_CXXFLAGS += -Wno-uninitialized
    1.16 +endif
    1.17 +
    1.18 +# These come from webidlsrcs.mk.
    1.19 +# TODO Write directly into backend.mk.
    1.20 +CPPSRCS += $(globalgen_sources) $(unified_binding_cpp_files)
    1.21 +
    1.22 +# Generated bindings reference *Binding.h, not mozilla/dom/*Binding.h. And,
    1.23 +# since we generate exported bindings directly to $(DIST)/include, we need
    1.24 +# to add that path to the search list.
    1.25 +#
    1.26 +# Ideally, binding generation uses the prefixed header file names.
    1.27 +# Bug 932092 tracks.
    1.28 +LOCAL_INCLUDES += -I$(DIST)/include/mozilla/dom
    1.29 +
    1.30 +PYTHON_UNIT_TESTS += $(srcdir)/mozwebidlcodegen/test/test_mozwebidlcodegen.py
    1.31 +
    1.32 +include $(topsrcdir)/config/rules.mk
    1.33 +
    1.34 +# TODO This list should be emitted to a .pp file via
    1.35 +# GenerateCSS2PropertiesWebIDL.py.
    1.36 +css2properties_dependencies = \
    1.37 +  $(topsrcdir)/layout/style/nsCSSPropList.h \
    1.38 +  $(topsrcdir)/layout/style/nsCSSPropAliasList.h \
    1.39 +  $(webidl_base)/CSS2Properties.webidl.in \
    1.40 +  $(webidl_base)/CSS2PropertiesProps.h \
    1.41 +  $(srcdir)/GenerateCSS2PropertiesWebIDL.py \
    1.42 +  $(GLOBAL_DEPS) \
    1.43 +  $(NULL)
    1.44 +
    1.45 +CSS2Properties.webidl: $(css2properties_dependencies)
    1.46 +	$(CPP) $(DEFINES) $(ACDEFINES) -I$(topsrcdir)/layout/style \
    1.47 +	  $(webidl_base)/CSS2PropertiesProps.h | \
    1.48 +	    PYTHONDONTWRITEBYTECODE=1 $(PYTHON) \
    1.49 +	      $(srcdir)/GenerateCSS2PropertiesWebIDL.py \
    1.50 +	      $(webidl_base)/CSS2Properties.webidl.in > $@
    1.51 +
    1.52 +# Most of the logic for dependencies lives inside Python so it can be
    1.53 +# used by multiple build backends. We simply have rules to generate
    1.54 +# and include the .pp file.
    1.55 +#
    1.56 +# The generated .pp file contains all the important dependencies such as
    1.57 +# changes to .webidl or .py files should result in code generation being
    1.58 +# performed. But we do pull in file-lists.jon to catch file additions.
    1.59 +codegen_dependencies := \
    1.60 +  file-lists.json \
    1.61 +  $(nonstatic_webidl_files) \
    1.62 +  $(GLOBAL_DEPS) \
    1.63 +  $(NULL)
    1.64 +
    1.65 +# The 1 is to make codegen.pp not optional.
    1.66 +$(call include_deps,codegen.pp,1)
    1.67 +
    1.68 +codegen.pp: $(codegen_dependencies)
    1.69 +	$(call py_action,webidl,$(srcdir))
    1.70 +	@$(TOUCH) $@
    1.71 +
    1.72 +.PHONY: compiletests
    1.73 +compiletests:
    1.74 +	$(call SUBMAKE,libs,test)
    1.75 +
    1.76 +GARBAGE += \
    1.77 +  codegen.pp \
    1.78 +  codegen.json \
    1.79 +  parser.out \
    1.80 +  WebIDLGrammar.pkl \
    1.81 +  $(wildcard *.h) \
    1.82 +  $(wildcard *Binding.cpp) \
    1.83 +  $(wildcard *Event.cpp) \
    1.84 +  $(wildcard *-event.cpp) \
    1.85 +  $(wildcard *.webidl) \
    1.86 +  $(NULL)
    1.87 +
    1.88 +DIST_GARBAGE += \
    1.89 +  file-lists.json \
    1.90 +  $(NULL)

mercurial