diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-10-12 17:40:35 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-10-12 17:40:35 +0100 |
commit | ce321410577f384e19042ea20b30ed6cbb00eda2 (patch) | |
tree | d1efc9a5d2fd4da26e16a34b18d0a53055a7e77c /javascript/Makefile | |
parent | 3877d4ad03134c727624b85e830539b3fe15dbdf (diff) | |
download | netsurf-ce321410577f384e19042ea20b30ed6cbb00eda2.tar.gz netsurf-ce321410577f384e19042ea20b30ed6cbb00eda2.tar.bz2 |
Split up javascript engine makefiles
by splitting javascript engine specific makefiles and source up we
avoid having to consider old JSAPI or none code while working on
duktape.
Diffstat (limited to 'javascript/Makefile')
-rw-r--r-- | javascript/Makefile | 101 |
1 files changed, 16 insertions, 85 deletions
diff --git a/javascript/Makefile b/javascript/Makefile index 3b8bf48a4..36f123b64 100644 --- a/javascript/Makefile +++ b/javascript/Makefile @@ -1,103 +1,34 @@ # # NetSurf javascript source file inclusion # -# Included by Makefile.sources +# Included by Makefile # -# ---------------------------------------------------------------------------- -# JSAPI binding -# ---------------------------------------------------------------------------- - -S_JSAPI_BINDING:= -D_JSAPI_BINDING:= - -JSAPI_BINDING_htmldocument := javascript/jsapi/htmldocument.bnd -JSAPI_BINDING_htmlelement := javascript/jsapi/htmlelement.bnd -JSAPI_BINDING_window := javascript/jsapi/window.bnd -JSAPI_BINDING_navigator := javascript/jsapi/navigator.bnd -JSAPI_BINDING_console := javascript/jsapi/console.bnd -JSAPI_BINDING_location := javascript/jsapi/location.bnd -JSAPI_BINDING_htmlcollection := javascript/jsapi/htmlcollection.bnd -JSAPI_BINDING_nodelist := javascript/jsapi/nodelist.bnd -JSAPI_BINDING_text := javascript/jsapi/text.bnd -JSAPI_BINDING_comment := javascript/jsapi/comment.bnd -JSAPI_BINDING_node := javascript/jsapi/node.bnd -JSAPI_BINDING_event := javascript/jsapi/event.bnd - -# 1: input binding file -# 2: source output file -# 3: header output file -# 4: binding name -define convert_jsapi_binding - -S_JSAPI_BINDING += $(2) -D_JSAPI_BINDING += $(patsubst %.c,%.d,$(2)) - -$(2): $(1) $(OBJROOT)/created - $$(VQ)echo " GENBIND: $(1)" - $(Q)nsgenbind -g -I javascript/WebIDL -d $(patsubst %.c,%.d,$(2)) -h $(3) -o $(2) $(1) - -$(3): $(2) - -endef - -# Javascript sources +# Check if jsapi is required ifeq ($(NETSURF_USE_JS),YES) WANT_JS_SOURCE := YES -endif - +else ifeq ($(NETSURF_USE_MOZJS),YES) WANT_JS_SOURCE := YES endif - -ifeq ($(WANT_JS_SOURCE),YES) - -S_JSAPI := - -S_JAVASCRIPT += content.c jsapi.c fetcher.c $(addprefix jsapi/,$(S_JSAPI)) - -$(eval $(foreach V,$(filter JSAPI_BINDING_%,$(.VARIABLES)),$(call convert_jsapi_binding,$($(V)),$(OBJROOT)/$(patsubst JSAPI_BINDING_%,%,$(V)).c,$(OBJROOT)/$(patsubst JSAPI_BINDING_%,%,$(V)).h,$(patsubst JSAPI_BINDING_%,%,$(V))_jsapi))) - -ifeq ($(filter $(MAKECMDGOALS),clean test coverage),) --include $(D_JSAPI_BINDING) endif +S_JAVASCRIPT_BINDING:= + +ifeq ($(WANT_JS_SOURCE),YES) +# JSAPI (spidemonkey) +include javascript/jsapi/Makefile else ifeq ($(NETSURF_USE_DUKTAPE),YES) - -javascript/dukky.c: $(OBJROOT)/duktape/binding.h - -BINDINGS := $(wildcard javascript/duktape/*.bnd) - -$(OBJROOT)/duktape/binding.h $(OBJROOT)/duktape/Makefile: javascript/duktape/netsurf.bnd $(BINDINGS) - $(Q)mkdir -p $(OBJROOT)/duktape - $(VQ)echo " GENBIND: $<" - $(Q)nsgenbind -D -I javascript/WebIDL $< $(OBJROOT)/duktape - -# create unimplemented report for doxygen -Docs/UnimplementedJavascript.txt: javascript/duktape/netsurf.bnd $(BINDINGS) - $(Q)mkdir -p $(OBJROOT)/duktape - $(VQ)echo "/** \page unimplemented Unimplemented javascript bindings" > $@ - $(VQ)echo "This is a list of all the binding methods, getters and setters without an implementation in a binding." >> $@ - $(VQ)echo "" >> $@ - $(VQ)echo " GENBIND: $<" - $(Q)nsgenbind -Wunimplemented -I javascript/WebIDL $< $(OBJROOT)/duktape 2>&1 >/dev/null | grep "Unimplemented" | cut -d' ' -f4- | sort -k 2 | awk '{print $$0"\\n" }' >> $@ - $(VQ)echo "*/" >> $@ - -ifeq ($(filter $(MAKECMDGOALS),clean test coverage),) --include $(OBJROOT)/duktape/Makefile -endif - -S_JSAPI_BINDING:=$(addprefix $(OBJROOT)/duktape/,$(NSGENBIND_SOURCES)) - -$(S_JSAPI_BINDING): $(BINDINGS) - -S_JAVASCRIPT += dukky.c content.c fetcher.c duktape/duktape.c - -CFLAGS += -DDUK_OPT_HAVE_CUSTOM_H +# Duktape +include javascript/duktape/Makefile else -S_JAVASCRIPT += none.c fetcher.c +# None +include javascript/none/Makefile endif endif -S_JAVASCRIPT := $(addprefix javascript/,$(S_JAVASCRIPT)) $(S_JSAPI_BINDING) +# Fetcher for javascript scheme is always required +S_JAVASCRIPT += fetcher.c + +S_JAVASCRIPT := $(addprefix javascript/,$(S_JAVASCRIPT)) $(S_JAVASCRIPT_BINDING) |