# 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/. DEPTH = ../.. topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ MODULE = dom LIBRARY_NAME = dombindings_s LIBXUL_LIBRARY = 1 FORCE_STATIC_LIB = 1 EXPORT_LIBRARY = 1 include $(topsrcdir)/config/config.mk # Define USE_JSOP_ACCESSORS to a nonempty string like "yes" to use them USE_JSOP_ACCESSORS = ifdef USE_JSOP_ACCESSORS DEFINES += -DUSE_JSOP_ACCESSORS ACCESSOR_OPT = --use-jsop-accessors else ACCESSOR_OPT = endif # Need this to find all our DOM source files. include $(topsrcdir)/dom/dom-config.mk include $(topsrcdir)/dom/webidl/WebIDL.mk binding_include_path := mozilla/dom all_webidl_files = $(webidl_files) # Set exported_binding_headers before adding the test IDL to the mix exported_binding_headers := $(subst .webidl,Binding.h,$(all_webidl_files)) # Set linked_binding_cpp_files before adding the test IDL to the mix linked_binding_cpp_files := $(subst .webidl,Binding.cpp,$(all_webidl_files)) all_webidl_files += $(test_webidl_files) binding_header_files := $(subst .webidl,Binding.h,$(all_webidl_files)) binding_cpp_files := $(subst .webidl,Binding.cpp,$(all_webidl_files)) globalgen_targets := \ PrototypeList.h \ RegisterBindings.h \ RegisterBindings.cpp \ $(NULL) CPPSRCS = \ $(linked_binding_cpp_files) \ $(filter %.cpp, $(globalgen_targets)) \ BindingUtils.cpp \ $(NULL) EXPORTS_NAMESPACES = $(binding_include_path) mozilla EXPORTS_mozilla = \ ErrorResult.h \ $(NULL) EXPORTS_$(binding_include_path) = \ DOMJSClass.h \ PrototypeList.h \ RegisterBindings.h \ Nullable.h \ TypedArray.h \ BindingUtils.h \ $(exported_binding_headers) \ $(NULL) LOCAL_INCLUDES += -I$(topsrcdir)/js/xpconnect/src \ -I$(topsrcdir)/js/xpconnect/wrappers \ -I$(topsrcdir)/content/html/content/src include $(topsrcdir)/config/rules.mk # If you change bindinggen_dependencies here, change it in # dom/bindings/test/Makefile.in too. bindinggen_dependencies := \ BindingGen.py \ Bindings.conf \ Configuration.py \ Codegen.py \ parser/WebIDL.py \ ParserResults.pkl \ $(GLOBAL_DEPS) \ $(NULL) $(webidl_files): %: $(webidl_base)/% $(INSTALL) $(IFLAGS1) $(webidl_base)/$* . $(test_webidl_files): %: $(srcdir)/test/% $(INSTALL) $(IFLAGS1) $(srcdir)/test/$* . $(binding_header_files): %Binding.h: $(bindinggen_dependencies) \ %.webidl \ $(NULL) PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(topsrcdir)/config/pythonpath.py \ $(PLY_INCLUDE) -I$(srcdir)/parser \ $(srcdir)/BindingGen.py $(ACCESSOR_OPT) header \ $(srcdir)/Bindings.conf $*Binding \ $*.webidl $(binding_cpp_files): %Binding.cpp: $(bindinggen_dependencies) \ %.webidl \ $(NULL) PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(topsrcdir)/config/pythonpath.py \ $(PLY_INCLUDE) -I$(srcdir)/parser \ $(srcdir)/BindingGen.py $(ACCESSOR_OPT) cpp \ $(srcdir)/Bindings.conf $*Binding \ $*.webidl $(globalgen_targets): ParserResults.pkl CACHE_DIR = _cache globalgen_dependencies := \ GlobalGen.py \ Bindings.conf \ Configuration.py \ Codegen.py \ parser/WebIDL.py \ $(CACHE_DIR)/.done \ $(GLOBAL_DEPS) \ $(NULL) $(CACHE_DIR)/.done: $(MKDIR) -p $(CACHE_DIR) @$(TOUCH) $@ ParserResults.pkl: $(globalgen_dependencies) \ $(all_webidl_files) PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(topsrcdir)/config/pythonpath.py \ $(PLY_INCLUDE) -I$(srcdir)/parser \ $(srcdir)/GlobalGen.py $(ACCESSOR_OPT) $(srcdir)/Bindings.conf . \ --cachedir=$(CACHE_DIR) \ $(all_webidl_files) GARBAGE += \ $(binding_header_files) \ $(binding_cpp_files) \ $(all_webidl_files) \ $(globalgen_targets) \ ParserResults.pkl \ webidlyacc.py \ parser.out \ $(NULL)