Files
tubestation/servo/components/script/makefile.cargo
Josh Matthews 0fc3353efd servo: Merge #12451 - Generate a list of supported DOM APIs from parsed WebIDLs (from jdm:generate-dom-apis); r=Ms2ger
Supplement the existing list of supported CSS properties with an equivalent list of DOM APIs.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because automatic generated documentation

Source-Repo: https://github.com/servo/servo
Source-Revision: 73ad0b928dd158be1eeba30dd21e67d4b9d82048
2016-07-15 15:13:22 -07:00

60 lines
1.9 KiB
Plaintext

# Recursive wildcard function
# http://blog.jgc.org/2011/07/gnu-make-recursive-wildcard-function.html
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) \
$(filter $(subst *,%,$2),$d))
PYTHON = $(shell which python2.7 2>/dev/null || echo python) -B
BINDINGS_SRC = $(shell pwd)/dom/bindings/codegen
WEBIDLS_SRC = $(shell pwd)/dom/webidls
WEBIDLS = $(call rwildcard,$(WEBIDLS_SRC),*.webidl)
BINDINGS = $(patsubst %.webidl,%Binding.rs,$(WEBIDLS))
AUTOGEN_SRC = $(foreach var,$(BINDINGS),$(subst $(WEBIDLS_SRC),$(OUT_DIR)/Bindings,$(var)))
export PYTHONPATH := $(BINDINGS_SRC)/parser:$(BINDINGS_SRC)/ply:$(PYTHONPATH)
CACHE_DIR = $(OUT_DIR)/_cache
bindinggen_dependencies := $(addprefix $(BINDINGS_SRC)/,BindingGen.py Bindings.conf Configuration.py CodegenRust.py parser/WebIDL.py) $(OUT_DIR)/ParserResults.pkl $(OUT_DIR)/Bindings/.done
globalgen_dependencies := $(addprefix $(BINDINGS_SRC)/,GlobalGen.py Bindings.conf Configuration.py CodegenRust.py parser/WebIDL.py) $(CACHE_DIR)/.done $(OUT_DIR)/Bindings/.done
.PHONY: all dom_docs
all: $(AUTOGEN_SRC)
$(OUT_DIR)/Bindings/.done:
mkdir -p $(OUT_DIR)/Bindings
touch $@
$(CACHE_DIR)/.done:
mkdir -p $(CACHE_DIR)
touch $@
$(OUT_DIR)/ParserResults.pkl: $(globalgen_dependencies) $(WEBIDLS)
$(PYTHON) \
$(BINDINGS_SRC)/GlobalGen.py \
--cachedir=$(CACHE_DIR) \
$(BINDINGS_SRC)/Bindings.conf \
$(OUT_DIR) \
. \
$(WEBIDLS)
dom_docs: $(CACHE_DIR)/.done
$(PYTHON) \
$(BINDINGS_SRC)/GlobalGen.py \
--cachedir=$(CACHE_DIR) \
--only-html \
$(BINDINGS_SRC)/Bindings.conf \
$(OUT_DIR) \
. \
$(WEBIDLS)
$(AUTOGEN_SRC): $(OUT_DIR)/Bindings/%Binding.rs: $(bindinggen_dependencies) \
$(addprefix $(WEBIDLS_SRC)/,%.webidl)
$(PYTHON) \
$(BINDINGS_SRC)/BindingGen.py \
$(BINDINGS_SRC)/Bindings.conf \
$(OUT_DIR) \
$(OUT_DIR)/Bindings/$*Binding \
$(addprefix $(WEBIDLS_SRC)/,$*.webidl)
touch $@