summaryrefslogtreecommitdiff
path: root/src/Makefile_Eolian_Js.am
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2014-09-01 15:08:49 -0300
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-12-23 23:59:40 -0200
commita3db1dddd3ba67c81118f7f2c0bc753dc8aac551 (patch)
tree233ee1be7bfa299bff560207135d20940c4e411f /src/Makefile_Eolian_Js.am
parent1a3cb45f1cc7fdf8d481879e6bd7349d9cb0b3fa (diff)
efl-js: JavaScript Eolian binding
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files $ configure --with-js=nodejs and compile normally with: $ make $ make install To use, you have to require efl: efl = require('efl') The bindings is divided in two parts: generated and manually written. The generation uses the Eolian library for parsing Eo files and generate C++ code that is compiled against V8 interpreter library to create a efl.node file that can be required in a node.js instance. @feature
Diffstat (limited to 'src/Makefile_Eolian_Js.am')
-rw-r--r--src/Makefile_Eolian_Js.am123
1 files changed, 123 insertions, 0 deletions
diff --git a/src/Makefile_Eolian_Js.am b/src/Makefile_Eolian_Js.am
new file mode 100644
index 0000000000..32cf893bf6
--- /dev/null
+++ b/src/Makefile_Eolian_Js.am
@@ -0,0 +1,123 @@
1
2if HAVE_JS
3
4### Binary
5bin_PROGRAMS += bin/eolian_js/eolian_js
6
7bin_eolian_js_eolian_js_SOURCES = \
8 bin/eolian_js/main.cc
9
10bin_eolian_js_eolian_js_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
11-I$(top_srcdir)/src/bin/eolian_js \
12-I$(top_srcdir)/src/bindings/js/eina_js \
13-I$(top_srcdir)/src/bindings/js/eo_js \
14@EOLIAN_JS_CFLAGS@ \
15@EINA_CXX_CFLAGS@ \
16@EOLIAN_CXX_CFLAGS@
17
18bin_eolian_js_eolian_js_LDADD = @USE_EO_LIBS@ @USE_EOLIAN_LIBS@
19bin_eolian_js_eolian_js_DEPENDENCIES = @USE_EO_INTERNAL_LIBS@ @USE_EOLIAN_INTERNAL_LIBS@
20
21include Makefile_Eolian_Js_Helper.am
22
23### Unit tests
24
25if EFL_ENABLE_TESTS
26if HAVE_NODEJS
27
28TESTS += tests/eolian_js/eolian_js_suite.js
29
30check_LTLIBRARIES += tests/eolian_js/libeolian_js_suite.la
31
32tests/eolian_js/eolian_js_suite.js: tests/eolian_js/eolian_js_suite_mod.node
33tests/eolian_js/eolian_js_suite_mod.node: tests/eolian_js/libeolian_js_suite.la
34 $(AM_V_CP)$(CP) $(top_builddir)/src/tests/eolian_js/.libs/libeolian_js_suite.so $(top_builddir)/src/tests/eolian_js/eolian_js_suite_mod.node
35
36tests_eolian_js_libeolian_js_suite_la_SOURCES = \
37tests/eolian_js/eolian_js_suite.cc \
38tests/eolian_js/eolian_js_test_eolian_js_binding.cc \
39tests/eolian_js/eolian_js_test_constructor_method_impl.c \
40tests/eolian_js/eolian_js_test_test_object_impl.c
41
42tests_eolian_js_libeolian_js_suite_la_CPPFLAGS = \
43-I$(top_builddir)/src/lib/efl \
44-I$(top_srcdir)/src/bin/eolian_js \
45-I$(top_srcdir)/src/bindings/js/eina_js \
46-I$(top_srcdir)/src/bindings/js/eo_js \
47-I$(top_builddir)/src/tests/eolian_js \
48-DTESTS_WD=\"`pwd`\" \
49-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eolian_js\" \
50-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/eolian_js\" \
51-DPACKAGE_DATA_DIR=\"$(datadir)/eolian_js\" \
52-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian_js\" \
53@CHECK_CFLAGS@ @EOLIAN_CXX_CFLAGS@ @EINA_JS_CFLAGS@ @EO_JS_CFLAGS@ \
54@EOLIAN_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@ @ECORE_CFLAGS@ @EINA_CXX_CFLAGS@ \
55@EO_JS_CFLAGS@ @EO_CXX_CFLAGS@
56tests_eolian_js_libeolian_js_suite_la_LIBADD = \
57@CHECK_LIBS@ @USE_EO_LIBS@ @USE_EINA_LIBS@ @USE_EOLIAN_LIBS@ @USE_EFL_JS_LIBS@
58tests_eolian_js_libeolian_js_suite_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@ @USE_EFL_JS_INTERNAL_LIBS@
59tests_eolian_js_libeolian_js_suite_la_CFLAGS = $(tests_eolian_js_libeolian_js_suite_la_CXXFLAGS)
60tests_eolian_js_libeolian_js_suite_la_LIBTOOLFLAGS = --tag=disable-static
61tests_eolian_js_libeolian_js_suite_la_LDFLAGS = -rpath $(abs_top_builddir)/tests/eolian_js @EFL_LTLIBRARY_FLAGS@
62
63# if compiler_o_lo == yes, lo, otherwise $(OBJEXT)
64
65tests/eolian_js/tests_eolian_js_libeolian_js_suite_la-eolian_js_test_eolian_js_binding.l$(OBJEXT): tests/eolian_js/constructor_method_class.eo.js.cc tests/eolian_js/constructor_method_class.eo.h tests/eolian_js/test_object.eo.js.cc tests/eolian_js/test_object.eo.h
66tests/eolian_js/tests_eolian_js_libeolian_js_suite_la-eolian_js_test_constructor_method_impl.l$(OBJEXT): tests/eolian_js/constructor_method_class.eo.c
67tests/eolian_js/tests_eolian_js_libeolian_js_suite_la-eolian_js_test_test_object_impl.l$(OBJEXT): tests/eolian_js/test_object.eo.c
68
69CLEANFILES += \
70tests/eolian_js/constructor_method_class.eo.js.cc \
71tests/eolian_js/constructor_method_class.eo.c \
72tests/eolian_js/constructor_method_class.eo.h \
73tests/eolian_js/test_object.eo.js.cc \
74tests/eolian_js/test_object.eo.c \
75tests/eolian_js/test_object.eo.h
76else
77check_PROGRAMS += tests/eolian_js/eolian_js_suite
78TESTS += tests/eolian_js/eolian_js_suite
79
80tests_eolian_js_eolian_js_suite_SOURCES = \
81tests/eolian_js/eolian_js_suite.cc \
82tests/eolian_js/eolian_js_test_eolian_js_binding.cc \
83tests/eolian_js/eolian_js_test_constructor_method_impl.c \
84tests/eolian_js/eolian_js_test_test_object_impl.c
85
86tests/eolian_js/tests_eolian_js_eolian_js_suite-eolian_js_test_eolian_js_binding.$(OBJEXT): tests/eolian_js/constructor_method_class.eo.js.cc tests/eolian_js/constructor_method_class.eo.h tests/eolian_js/test_object.eo.js.cc tests/eolian_js/test_object.eo.h
87tests/eolian_js/tests_eolian_js_eolian_js_suite-eolian_js_test_constructor_method_impl.$(OBJEXT): tests/eolian_js/constructor_method_class.eo.c
88tests/eolian_js/tests_eolian_js_eolian_js_suite-eolian_js_test_test_object_impl.$(OBJEXT): tests/eolian_js/test_object.eo.c
89
90CLEANFILES += \
91tests/eolian_js/constructor_method_class.eo.js.cc \
92tests/eolian_js/constructor_method_class.eo.c \
93tests/eolian_js/constructor_method_class.eo.h \
94tests/eolian_js/test_object.eo.js.cc \
95tests/eolian_js/test_object.eo.c \
96tests/eolian_js/test_object.eo.h
97
98tests_eolian_js_eolian_js_suite_CPPFLAGS = \
99-I$(top_builddir)/src/lib/efl \
100-I$(top_srcdir)/src/bin/eolian_js \
101-I$(top_srcdir)/src/bindings/js/eina_js \
102-I$(top_srcdir)/src/bindings/js/eo_js \
103-I$(top_builddir)/src/tests/eolian_js \
104-I$(top_srcdir)/src/tests/efl_js \
105-DTESTS_WD=\"`pwd`\" \
106-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eolian_js\" \
107-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/eolian_js\" \
108-DPACKAGE_DATA_DIR=\"$(datadir)/eolian_js\" \
109-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian_js\" \
110@CHECK_CFLAGS@ @EOLIAN_CXX_CFLAGS@ @EINA_JS_CFLAGS@ @EO_JS_CFLAGS@ @EFL_JS_CFLAGS@ \
111@EOLIAN_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@ @ECORE_CFLAGS@ @EINA_CXX_CFLAGS@ \
112@EO_JS_CFLAGS@ @EO_CXX_CFLAGS@ @EFL_JS_CFLAGS@
113
114tests_eolian_js_eolian_js_suite_LDADD = \
115@CHECK_LIBS@ @USE_EO_LIBS@ @USE_EINA_LIBS@ @USE_EOLIAN_LIBS@ @USE_EFL_JS_LIBS@ @USE_EVAS_LIBS@ @USE_EFL_JS_LIBS@
116tests_eolian_js_eolian_js_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@ @USE_EFL_JS_INTERNAL_LIBS@ @USE_EVAS_INTERNAL_LIBS@ @USE_EFL_JS_INTERNAL_LIBS@
117endif
118endif
119
120endif
121
122
123