summaryrefslogtreecommitdiff
path: root/src/Makefile_Efl_Mono.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile_Efl_Mono.am')
-rw-r--r--src/Makefile_Efl_Mono.am549
1 files changed, 0 insertions, 549 deletions
diff --git a/src/Makefile_Efl_Mono.am b/src/Makefile_Efl_Mono.am
deleted file mode 100644
index 0cf4158..0000000
--- a/src/Makefile_Efl_Mono.am
+++ /dev/null
@@ -1,549 +0,0 @@
1
2efl_custom_exports_mono_files = \
3 lib/efl_mono/efl_custom_exports_mono.c
4
5efl_eo_mono_files = \
6 bindings/mono/eo_mono/iwrapper.cs \
7 bindings/mono/eo_mono/FunctionWrapper.cs \
8 bindings/mono/eo_mono/NativeModule.cs \
9 bindings/mono/eo_mono/workaround.cs \
10 bindings/mono/eo_mono/EoWrapper.cs \
11 bindings/mono/eo_mono/WrapperSupervisor.cs
12
13if HAVE_WIN32
14
15efl_eo_mono_files += \
16 bindings/mono/eo_mono/FunctionWrapper_Windows.cs \
17 bindings/mono/eo_mono/NativeModule_Windows.cs
18
19else
20
21efl_eo_mono_files += \
22 bindings/mono/eo_mono/FunctionWrapper_Unix.cs \
23 bindings/mono/eo_mono/NativeModule_Unix.cs
24
25endif
26
27
28efl_eina_mono_files = \
29 bindings/mono/eina_mono/eina_config.cs \
30 bindings/mono/eina_mono/eina_array.cs \
31 bindings/mono/eina_mono/eina_hash.cs \
32 bindings/mono/eina_mono/eina_list.cs \
33 bindings/mono/eina_mono/eina_inarray.cs \
34 bindings/mono/eina_mono/eina_inlist.cs \
35 bindings/mono/eina_mono/eina_iterator.cs \
36 bindings/mono/eina_mono/eina_container_common.cs \
37 bindings/mono/eina_mono/eina_common.cs \
38 bindings/mono/eina_mono/eina_log.cs \
39 bindings/mono/eina_mono/eina_binbuf.cs \
40 bindings/mono/eina_mono/eina_slice.cs \
41 bindings/mono/eina_mono/eina_stringshare.cs \
42 bindings/mono/eina_mono/eina_error.cs \
43 bindings/mono/eina_mono/eina_value.cs \
44 bindings/mono/eina_mono/eina_promises.cs \
45 bindings/mono/eina_mono/eina_accessor.cs \
46 bindings/mono/eina_mono/eina_strbuf.cs
47
48efl_eldbus_mono_files = \
49 bindings/mono/eldbus_mono/eldbus_common.cs \
50 bindings/mono/eldbus_mono/eldbus_config.cs \
51 bindings/mono/eldbus_mono/eldbus_connection.cs \
52 bindings/mono/eldbus_mono/eldbus_message.cs \
53 bindings/mono/eldbus_mono/eldbus_object.cs \
54 bindings/mono/eldbus_mono/eldbus_pending.cs \
55 bindings/mono/eldbus_mono/eldbus_proxy.cs \
56 bindings/mono/eldbus_mono/eldbus_service.cs
57
58# Static C# source files don't go into a _SOURCES var as the dll target
59# is custom built instead of through _LTLIBRARIES/_LIBRARIES
60lib_efl_mono_libefl_mono_dll_sources = \
61 bindings/mono/efl_mono/efl_all.cs \
62 bindings/mono/efl_mono/efl_csharp_application.cs \
63 $(efl_eo_mono_files) \
64 $(efl_eina_mono_files) \
65 $(efl_eldbus_mono_files)
66
67efl_mono_test_eolian_files = \
68 tests/efl_mono/dummy_test_object.eo \
69 tests/efl_mono/dummy_test_iface.eo \
70 tests/efl_mono/dummy_inherit_iface.eo \
71 tests/efl_mono/dummy_inherit_helper.eo \
72 tests/efl_mono/dummy_child.eo \
73 tests/efl_mono/dummy_part_holder.eo \
74 tests/efl_mono/dummy_numberwrapper.eo \
75 tests/efl_mono/dummy_event_manager.eo
76
77efl_mono_test_files = \
78 $(efl_mono_test_eolian_files) \
79 tests/efl_mono/mono_test_driver.sh
80
81EXTRA_DIST2 += \
82 $(lib_efl_mono_libefl_mono_dll_sources) \
83 $(efl_mono_test_files) \
84 bindings/mono/efl_mono/efl_libs.cs.in \
85 bindings/mono/efl_mono/efl_libs.csv.in
86
87if HAVE_CSHARP
88
89bin_PROGRAMS += bin/eolian_mono/eolian_mono
90
91bin_eolian_mono_eolian_mono_SOURCES = \
92 bin/eolian_mono/eolian_mono.cc \
93 bin/eolian_mono/eolian/mono/alias_definition.hh \
94 bin/eolian_mono/eolian/mono/async_function_definition.hh \
95 bin/eolian_mono/eolian/mono/blacklist.hh \
96 bin/eolian_mono/eolian/mono/documentation.hh \
97 bin/eolian_mono/eolian/mono/enum_definition.hh \
98 bin/eolian_mono/eolian/mono/events.hh \
99 bin/eolian_mono/eolian/mono/function_declaration.hh \
100 bin/eolian_mono/eolian/mono/function_definition.hh \
101 bin/eolian_mono/eolian/mono/function_helpers.hh \
102 bin/eolian_mono/eolian/mono/function_pointer.hh \
103 bin/eolian_mono/eolian/mono/function_registration.hh \
104 bin/eolian_mono/eolian/mono/generation_contexts.hh \
105 bin/eolian_mono/eolian/mono/helpers.hh \
106 bin/eolian_mono/eolian/mono/klass.hh \
107 bin/eolian_mono/eolian/mono/logging.hh \
108 bin/eolian_mono/eolian/mono/marshall_annotation.hh \
109 bin/eolian_mono/eolian/mono/marshall_type.hh \
110 bin/eolian_mono/eolian/mono/marshall_type_impl.hh \
111 bin/eolian_mono/eolian/mono/name_helpers.hh \
112 bin/eolian_mono/eolian/mono/parameter.hh \
113 bin/eolian_mono/eolian/mono/part_definition.hh \
114 bin/eolian_mono/eolian/mono/struct_definition.hh \
115 bin/eolian_mono/eolian/mono/struct_fields.hh \
116 bin/eolian_mono/eolian/mono/type.hh \
117 bin/eolian_mono/eolian/mono/type_impl.hh \
118 bin/eolian_mono/eolian/mono/using_decl.hh \
119 bin/eolian_mono/eolian/mono/utils.hh \
120 bin/eolian_mono/eolian/mono/variable_definition.hh
121
122bin_eolian_mono_eolian_mono_CXXFLAGS = -I$(top_builddir)/src/lib/efl \
123-I$(top_srcdir)/src/lib/eolian_cxx/ \
124-I$(top_srcdir)/src/bin/eolian_mono/ \
125@CHECK_CFLAGS@ @EINA_CFLAGS@ @EINA_CXX_CFLAGS@ @EO_CXX_CFLAGS@ @ECORE_CXX_CFLAGS@ @EO_CFLAGS@ \
126-I$(top_srcdir)/src/bindings/cxx/eina_cxx \
127@EOLIAN_CXX_CFLAGS@ @EOLIAN_CFLAGS@
128
129bin_eolian_mono_eolian_mono_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@
130
131bin_eolian_mono_eolian_mono_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
132
133# Helper for other modules using Eolian_Mono, include only after Makefile_Eolian_Helper.am
134include Makefile_Eolian_Mono_Helper.am
135
136### Efl C Sharp Binding
137
138evas_eolian_blacklisted_files = \
139lib/evas/canvas/efl_canvas_scene3d.eo.cs \
140lib/evas/canvas/evas_canvas3d_camera.eo.cs \
141lib/evas/canvas/evas_canvas3d_light.eo.cs \
142lib/evas/canvas/evas_canvas3d_material.eo.cs \
143lib/evas/canvas/evas_canvas3d_mesh.eo.cs \
144lib/evas/canvas/evas_canvas3d_node.eo.cs \
145lib/evas/canvas/evas_canvas3d_object.eo.cs \
146lib/evas/canvas/evas_canvas3d_primitive.eo.cs \
147lib/evas/canvas/evas_canvas3d_scene.eo.cs \
148lib/evas/canvas/evas_canvas3d_texture.eo.cs
149
150efl_eolian_blacklisted_files = \
151lib/efl/interfaces/efl_io_buffer.eo.cs \
152lib/efl/interfaces/efl_io_positioner.eo.cs \
153lib/efl/interfaces/efl_io_queue.eo.cs \
154lib/efl/interfaces/efl_io_sizer.eo.cs
155
156ecore_eolian_blacklisted_files = \
157lib/ecore/efl_io_closer_fd.eo.cs \
158lib/ecore/efl_io_buffered_stream.eo.cs \
159lib/ecore/efl_io_positioner_fd.eo.cs \
160lib/ecore/efl_io_reader_fd.eo.cs \
161lib/ecore/efl_io_writer_fd.eo.cs \
162lib/ecore/efl_io_copier_fd.eo.cs \
163lib/ecore/efl_io_sizer_fd.eo.cs \
164lib/ecore/efl_io_stdin.eo.cs \
165lib/ecore/efl_io_stdout.eo.cs \
166lib/ecore/efl_io_stderr.eo.cs \
167lib/ecore/efl_io_file.eo.cs \
168lib/ecore/efl_io_copier.eo.cs
169
170eo_eolian_blacklisted_files = \
171lib/eo/efl_object_override.eo.cs
172
173elementary_eolian_blacklisted_files = \
174lib/elementary/elm_web_eo.cs \
175lib/elementary/elm_map_eo.cs \
176lib/elementary/elm_combobox.eo.cs \
177lib/elementary/elm_list_eo.cs \
178lib/elementary/elm_genlist_eo.cs \
179lib/elementary/elm_view_list_eo.cs \
180lib/elementary/elm_genlist_item_eo.cs \
181lib/elementary/elm_gengrid_eo.cs \
182lib/elementary/elm_code_widget.eo.cs \
183lib/elementary/elm_multibuttonentry_part.eo.cs \
184lib/elementary/elm_atspi_bridge.eo.cs \
185lib/elementary/elm_atspi_app_object.eo.cs \
186lib/elementary/elm_glview_eo.cs
187
188efl_mono_blacklisted_files = \
189$(evas_eolian_blacklisted_files) \
190$(efl_eolian_blacklisted_files) \
191$(ecore_eolian_blacklisted_files) \
192$(eo_eolian_blacklisted_files) \
193$(elementary_eolian_blacklisted_files)
194
195efl_eolian_mono_files = \
196$(filter-out $(eo_eolian_blacklisted_files),$(eo_eolian_files:%.eo=%.eo.cs)) \
197$(filter-out $(ecore_eolian_blacklisted_files),$(ecore_eolian_files_public:%.eo=%.eo.cs)) \
198$(ecore_eolian_type_files:%.eot=%.eot.cs) \
199$(filter-out $(efl_eolian_blacklisted_files),$(efl_eolian_files:%.eo=%.eo.cs)) \
200$(filter-out $(edje_eolian_blacklisted_files),$(edje_eolian_files:%.eo=%.eo.cs)) \
201$(filter-out $(elementary_eolian_blacklisted_files),$(elm_public_eolian_files:%.eo=%.eo.cs)) \
202$(efl_eolian_type_files:%.eot=%.eot.cs) \
203$(edje_eolian_type_files:%.eot=%.eot.cs) \
204$(elm_eolian_type_files:%.eot=%.eot.cs) \
205$(filter-out $(evas_eolian_blacklisted_files),$(evas_canvas_eolian_pub_files:%.eo=%.eo.cs)) \
206$(evas_gesture_eolian_pub_files:%.eo=%.eo.cs) \
207$(evas_gesture_eolian_type_files:%.eot=%.eot.cs) \
208lib/evas/canvas/efl_canvas_image.eo.cs \
209$(evas_canvas_eolian_type_files:%.eot=%.eot.cs) \
210lib/eo/eina_types.eot.cs \
211lib/ecore/efl_loop_timer.eo.cs
212
213efl_mono_files_gen =\
214$(efl_eolian_mono_files) \
215$(builddir)/bindings/mono/efl_mono/efl_libs.cs
216
217
218installed_eflmonomainheadersdir = $(includedir)/efl-mono-@VMAJ@/
219nodist_installed_eflmonomainheaders_DATA = $(efl_eolian_files:%.eo=%.eo.cs) $(builddir)/bindings/mono/efl_mono/efl_libs.csv
220
221CLEANFILES += $(efl_mono_files_gen) $(efl_mono_blacklisted_files) \
222 $(builddir)/lib/efl_mono/libefl_mono.dll \
223 $(builddir)/lib/efl_mono/libefl_mono.xml \
224 $(builddir)/lib/efl_mono/libefl_mono.dll.config
225
226if HAVE_WIN32
227
228MCSFLAGS ?=
229MCSFLAGS += -define:WIN32
230
231endif
232
233# Efl Custom Exports Mono auxiliary library
234
235lib_LTLIBRARIES += \
236lib/efl_mono/libeflcustomexportsmono.la
237
238lib_efl_mono_libeflcustomexportsmono_la_SOURCES = \
239 $(efl_custom_exports_mono_files)
240
241lib_efl_mono_libeflcustomexportsmono_la_CPPFLAGS = \
242-DEFL_BETA_API_SUPPORT \
243-I$(top_builddir)/src/lib/efl \
244-DEFL_BUILD \
245@EFL_CUSTOM_EXPORTS_MONO_CFLAGS@
246lib_efl_mono_libeflcustomexportsmono_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
247lib_efl_mono_libeflcustomexportsmono_la_LIBADD = @EFL_CUSTOM_EXPORTS_MONO_LIBS@
248lib_efl_mono_libeflcustomexportsmono_la_DEPENDENCIES = @EFL_CUSTOM_EXPORTS_MONO_INTERNAL_LIBS@
249
250#Efl Mono - C Sharp binding library
251
252libefl_mono_dll_MCSFLAGS = -doc:lib/efl_mono/libefl_mono.xml
253
254lib/efl_mono/libefl_mono.dll: $(efl_mono_files_dist) lib/efl_mono/$(am__dirstamp) $(lib_efl_mono_libefl_mono_dll_sources) $(efl_mono_files_gen) lib/efl_mono/libefl_mono.dll.config
255 @rm -f lib/efl_mono/libefl_mono.dll
256 $(AM_V_MCS) $(MCS) $(MCSFLAGS) $(libefl_mono_dll_MCSFLAGS) -out:$@ -t:library $(filter %.cs, $(^))
257
258lib/efl_mono/libefl_mono.dll.config:
259 echo "<configuration>" > $@
260 echo " <dllmap dll=\"eina\" target=\"$(abs_top_builddir)/src/lib/eina/.libs/libeina.so\"/>" >> $@
261 echo " <dllmap dll=\"ecore\" target=\"$(abs_top_builddir)/src/lib/ecore/.libs/libecore.so\"/>" >> $@
262 echo " <dllmap dll=\"eo\" target=\"$(abs_top_builddir)/src/lib/eo/.libs/libeo.so\"/>" >> $@
263 echo " <dllmap dll=\"evas\" target=\"$(abs_top_builddir)/src/lib/evas/.libs/libevas.so\"/>" >> $@
264 echo " <dllmap dll=\"eldbus\" target=\"$(abs_top_builddir)/src/lib/eldbus/.libs/libeldbus.so\"/>" >> $@
265 echo " <dllmap dll=\"elementary\" target=\"$(abs_top_builddir)/src/lib/elementary/.libs/libelementary.so\"/>" >> $@
266 echo "</configuration>" >> $@
267
268EFL_INSTALL_EXEC_HOOK += \
269$(MKDIR_P) @eflmonodlldir@; \
270cp -f $(builddir)/lib/efl_mono/libefl_mono.dll @eflmonodlldir@/libefl_mono.dll; \
271cp -f $(builddir)/lib/efl_mono/libefl_mono.xml @eflmonodlldir@/libefl_mono.xml; \
272$(MKDIR_P) $(DESTDIR)$(datadir)/efl_mono; \
273cp -f $(builddir)/bindings/mono/efl_mono/efl_libs.csv $(DESTDIR)$(datadir)/efl_mono/efl_libs.csv;
274
275all-local: lib/efl_mono/libefl_mono.dll
276
277uninstall-local:
278 rm -rf @eflmonodlldir@/libefl_mono.dll
279 rm -rf @eflmonodlldir@/libefl_mono.xml
280 rm -rf $(DESTDIR)$(datadir)/efl_mono
281 rm -rf src/tests/efl_mono
282
283
284### MSBuild
285
286bin_PROGRAMS += bin/efl_mono_msbuild_gen/efl_mono_msbuild_gen
287
288bin_efl_mono_msbuild_gen_efl_mono_msbuild_gen_SOURCES = \
289 bin/efl_mono_msbuild_gen/main.cc
290
291bin_efl_mono_msbuild_gen_efl_mono_msbuild_gen_CXXFLAGS = \
292 -I$(top_srcdir)/src/lib/efl \
293 -I$(top_builddir)/src/lib/efl \
294 -I$(top_srcdir)/src/lib/eolian_cxx/ \
295 -I$(top_srcdir)/src/bindings/cxx/eina_cxx \
296 @EINA_CFLAGS@ @EINA_CXX_CFLAGS@ @EO_CXX_CFLAGS@ \
297 @ECORE_CXX_CFLAGS@ @EO_CFLAGS@ @EOLIAN_CXX_CFLAGS@ @EOLIAN_CFLAGS@
298
299bin_efl_mono_msbuild_gen_efl_mono_msbuild_gen_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@
300
301bin_efl_mono_msbuild_gen_efl_mono_msbuild_gen_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
302
303# Helper for other modules using Efl_Mono_MSBuild_Gen
304include Makefile_Efl_Mono_MSBuild_Gen_Helper.am
305
306# Efl Mono DLL for MSBuild
307../libefl_mono.csproj: $(efl_mono_files_dist) lib/efl_mono/$(am__dirstamp) $(efl_mono_files_gen) $(_EFL_MONO_MSBUILD_GEN_DEP)
308 @rm -f $@
309 $(EFL_MONO_MSBUILD_GEN) $(MSBUILD_GEN_FLAGS) -o $@ -a libefl_mono.dll -t library $(patsubst %.cs,src/%.cs,$(filter %.cs, $(^)))
310
311CSPROJS_SUBDIRS = \
312examples/eina \
313examples/efl_mono
314
315msbuildcsprojs: ../libefl_mono.csproj
316 @for d in $(CSPROJS_SUBDIRS); do \
317 echo "Making MSBuild C Sharp projects in $$d"; \
318 $(MAKE) $(AM_MAKEFLAGS) -C $$d msbuildcsprojs || exit 1; \
319 done
320
321### Some hard-coded runtime dependencies for tests and examples
322TEST_PATHS = $(abs_top_builddir)/src/lib/efl_mono:$(abs_top_builddir)/src/lib/efl_mono/.libs:$(abs_top_builddir)/src/lib/eina/.libs:$(abs_top_builddir)/src/lib/ecore/.libs:$(abs_top_builddir)/src/lib/ecore_evas/.libs:$(abs_top_builddir)/src/lib/eo/.libs:$(abs_top_builddir)/src/lib/evas/.libs:$(abs_top_builddir)/src/lib/emile/.libs:$(abs_top_builddir)/src/lib/eet/.libs:$(abs_top_builddir)/src/lib/efl/.libs:$(abs_top_builddir)/src/ecore-file/.libs:$(abs_top_builddir)/src/lib/efl-input/.libs:$(abs_top_builddir)/src/lib/edje/.libs:$(abs_top_builddir)/src/lib/ethumb/.libs:$(abs_top_builddir)/src/lib/ethumb-client/.libs:$(abs_top_builddir)/src/lib/emotion/.libs:$(abs_top_builddir)/src/lib/ecore-imf/.libs:$(abs_top_builddir)/src/lib/ecore-con/.libs:$(abs_top_builddir)/src/lib/eldbus/.libs:$(abs_top_builddir)/src/lib/efreet/.libs:$(abs_top_builddir)/src/lib/efreet-mime/.libs:$(abs_top_builddir)/src/lib/efreet-trash/.libs:$(abs_top_builddir)/src/lib/eio/.libs:$(abs_top_builddir)/src/lib/elocation/.libs:$(abs_top_builddir)/src/lib/elementary/.libs:$(abs_top_builddir)/src/tests/efl_mono/.libs
323
324WIN_ADD_TEST_PATHS = $(abs_top_builddir)/src/lib/evil/.libs:$(abs_top_builddir)/src/lib/ecore_win32/.libs:$(abs_top_builddir)/src/lib/ector/.libs:$(abs_top_builddir)/src/lib/ecore_con/.libs:$(abs_top_builddir)/src/lib/ecore_imf/.libs:$(abs_top_builddir)/src/lib/ecore_file/.libs:$(abs_top_builddir)/src/lib/ecore_input/.libs:$(abs_top_builddir)/src/ethumb_client/.libs:$(abs_top_builddir)/src/tests/efl_mono/.libs
325
326
327### Rules for generating the .cs files
328
329ALL_EO_REFS = -r $(top_builddir)/src/bindings/mono/efl_mono/efl_libs.csv
330
331lib/eo/%.eo.cs: lib/eo/%.eo $(_EOLIAN_MONO_DEP)
332 $(AM_V_EOLMONO) \
333 $(MKDIR_P) $(dir $@); \
334 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport eo -o $@ $(ALL_EO_REFS) $<
335
336lib/ecore/%.eo.cs: lib/ecore/%.eo $(_EOLIAN_MONO_DEP)
337 $(AM_V_EOLMONO) \
338 $(MKDIR_P) $(dir $@); \
339 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport ecore -o $@ $(ALL_EO_REFS) $<
340
341lib/evas/%.eo.cs: lib/evas/%.eo $(_EOLIAN_MONO_DEP)
342 $(AM_V_EOLMONO) \
343 $(MKDIR_P) $(dir $@); \
344 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport evas -o $@ $(ALL_EO_REFS) $<
345
346lib/efl/%.eo.cs: lib/efl/%.eo $(_EOLIAN_MONO_DEP)
347 $(AM_V_EOLMONO) \
348 $(MKDIR_P) $(dir $@); \
349 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport efl -o $@ $(ALL_EO_REFS) $<
350
351lib/edje/%.eo.cs: lib/edje/%.eo $(_EOLIAN_MONO_DEP)
352 $(AM_V_EOLMONO) \
353 $(MKDIR_P) $(dir $@); \
354 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport edje -o $@ $(ALL_EO_REFS) $<
355
356lib/elementary/%.eo.cs: lib/elementary/%.eo $(_EOLIAN_MONO_DEP)
357 $(AM_V_EOLMONO) \
358 $(MKDIR_P) $(dir $@); \
359 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport elementary -o $@ $(ALL_EO_REFS) $<
360
361lib/ecore/%.eot.cs: lib/ecore/%.eot $(_EOLIAN_MONO_DEP)
362 $(AM_V_EOLMONO) \
363 $(MKDIR_P) $(dir $@); \
364 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport ecore -o $@ $(ALL_EO_REFS) $<
365
366lib/eo/%.eot.cs: lib/eo/%.eot $(_EOLIAN_MONO_DEP)
367 $(AM_V_EOLMONO) \
368 $(MKDIR_P) $(dir $@); \
369 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport eo -o $@ $(ALL_EO_REFS) $<
370
371lib/evas/%.eot.cs: lib/evas/%.eot $(_EOLIAN_MONO_DEP)
372 $(AM_V_EOLMONO) \
373 $(MKDIR_P) $(dir $@); \
374 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport evas -o $@ $(ALL_EO_REFS) $<
375
376lib/efl/%.eot.cs: lib/efl/%.eot $(_EOLIAN_MONO_DEP)
377 $(AM_V_EOLMONO) \
378 $(MKDIR_P) $(dir $@); \
379 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport efl -o $@ $(ALL_EO_REFS) $<
380
381lib/edje/%.eot.cs: lib/edje/%.eot $(_EOLIAN_MONO_DEP)
382 $(AM_V_EOLMONO) \
383 $(MKDIR_P) $(dir $@); \
384 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport edje -o $@ $(ALL_EO_REFS) $<
385
386lib/elementary/%.eot.cs: lib/elementary/%.eot $(_EOLIAN_MONO_DEP)
387 $(AM_V_EOLMONO) \
388 $(MKDIR_P) $(dir $@); \
389 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport elementary -o $@ $(ALL_EO_REFS) $<
390
391
392### Tests
393
394if EFL_ENABLE_TESTS
395
396# Intermediate C test native library
397check_LTLIBRARIES += tests/efl_mono/libefl_mono_native_test.la
398
399tests_efl_mono_libefl_mono_native_test_la_SOURCES = \
400 tests/efl_mono/dummy_child.c \
401 tests/efl_mono/dummy_event_manager.c \
402 tests/efl_mono/dummy_inherit_helper.c \
403 tests/efl_mono/dummy_interfaces.c \
404 tests/efl_mono/dummy_numberwrapper.c \
405 tests/efl_mono/dummy_part_holder.c \
406 tests/efl_mono/dummy_test_object.c
407
408efl_mono_test_eolian_c = $(efl_mono_test_eolian_files:%.eo=%.eo.c)
409efl_mono_test_eolian_h = $(efl_mono_test_eolian_files:%.eo=%.eo.h)
410
411tests_efl_mono_libefl_mono_native_test_la_CPPFLAGS = \
412-I$(builddir)/tests/efl_mono \
413@CHECK_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@ @ECORE_CFLAGS@ @ELDBUS_CFLAGS@
414tests_efl_mono_libefl_mono_native_test_la_LIBADD = \
415@CHECK_LIBS@ @USE_EINA_LIBS@ @USE_EO_LIBS@ @USE_ECORE_LIBS@ @USE_ELDBUS_LIBS@
416tests_efl_mono_libefl_mono_native_test_la_LDFLAGS = -rpath $(abs_top_builddir)/tests/efl_mono @EFL_LTLIBRARY_FLAGS@
417tests_efl_mono_libefl_mono_native_test_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@ @USE_ECORE_INTERNAL_LIBS@ @USE_ELDBUS_INTERNAL_LIBS@
418tests_efl_mono_libefl_mono_native_test_la_LIBTOOLFLAGS = --tag=disable-static
419
420tests/efl_mono/dummy_child.c: \
421 $(efl_mono_test_eolian_c) \
422 $(efl_mono_test_eolian_h) \
423 tests/efl_mono/libefl_mono_native_test.h
424
425tests/efl_mono/dummy_event_manager.c: \
426 $(efl_mono_test_eolian_c) \
427 $(efl_mono_test_eolian_h) \
428 tests/efl_mono/libefl_mono_native_test.h
429
430tests/efl_mono/dummy_inherit_helper.c: \
431 $(efl_mono_test_eolian_c) \
432 $(efl_mono_test_eolian_h) \
433 tests/efl_mono/libefl_mono_native_test.h
434
435tests/efl_mono/dummy_interfaces.c: \
436 $(efl_mono_test_eolian_c) \
437 $(efl_mono_test_eolian_h) \
438 tests/efl_mono/libefl_mono_native_test.h
439
440tests/efl_mono/dummy_numberwrapper.c: \
441 $(efl_mono_test_eolian_c) \
442 $(efl_mono_test_eolian_h) \
443 tests/efl_mono/libefl_mono_native_test.h
444
445tests/efl_mono/dummy_part_holder.c: \
446 $(efl_mono_test_eolian_c) \
447 $(efl_mono_test_eolian_h) \
448 tests/efl_mono/libefl_mono_native_test.h
449
450tests/efl_mono/dummy_test_object.c: \
451 $(efl_mono_test_eolian_c) \
452 $(efl_mono_test_eolian_h) \
453 tests/efl_mono/libefl_mono_native_test.h
454
455# Intermediate C Sharp test DLL
456efl_mono_test_eolian_mono_files = tests/efl_mono/dummy_test_object.eo.cs \
457tests/efl_mono/dummy_test_iface.eo.cs \
458tests/efl_mono/dummy_child.eo.cs \
459tests/efl_mono/dummy_event_manager.eo.cs \
460tests/efl_mono/dummy_part_holder.eo.cs \
461tests/efl_mono/dummy_numberwrapper.eo.cs \
462tests/efl_mono/dummy_inherit_iface.eo.cs \
463tests/efl_mono/dummy_inherit_helper.eo.cs
464
465tests/efl_mono/libefl_mono_test.dll: $(efl_mono_test_eolian_mono_files) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_native_test.la tests/efl_mono/libefl_mono_test.dll.config
466 @rm -f tests/efl_mono/libefl_mono_test.dll
467 $(AM_V_MCS) $(MCS) $(MCSFLAGS) -r:$(abs_builddir)/lib/efl_mono/libefl_mono.dll -out:$@ -t:library $(filter %.cs, $(^))
468
469tests/efl_mono/efl_mono$(EXEEXT).config:
470 echo "<configuration>" > $@
471 echo " <dllmap dll=\"eina\" target=\"$(abs_top_builddir)/src/lib/eina/.libs/libeina.so\"/>" >> $@
472 echo " <dllmap dll=\"ecore\" target=\"$(abs_top_builddir)/src/lib/ecore/.libs/libecore.so\"/>" >> $@
473 echo " <dllmap dll=\"eo\" target=\"$(abs_top_builddir)/src/lib/eo/.libs/libeo.so\"/>" >> $@
474 echo " <dllmap dll=\"efl\" target=\"$(abs_top_builddir)/src/lib/efl/.libs/libefl.so\"/>" >> $@
475 echo " <dllmap dll=\"evas\" target=\"$(abs_top_builddir)/src/lib/evas/.libs/libevas.so\"/>" >> $@
476 echo " <dllmap dll=\"eldbus\" target=\"$(abs_top_builddir)/src/lib/eldbus/.libs/libeldbus.so\"/>" >> $@
477 echo " <dllmap dll=\"elementary\" target=\"$(abs_top_builddir)/src/lib/elementary/.libs/libelementary.so\"/>" >> $@
478 echo "</configuration>" >> $@
479
480tests/efl_mono/libefl_mono_test.dll.config:
481 echo "<configuration>" > $@
482 echo " <dllmap dll=\"eina\" target=\"$(abs_top_builddir)/src/lib/eina/.libs/libeina.so\"/>" >> $@
483 echo " <dllmap dll=\"ecore\" target=\"$(abs_top_builddir)/src/lib/ecore/.libs/libecore.so\"/>" >> $@
484 echo " <dllmap dll=\"eo\" target=\"$(abs_top_builddir)/src/lib/eo/.libs/libeo.so\"/>" >> $@
485 echo " <dllmap dll=\"efl\" target=\"$(abs_top_builddir)/src/lib/efl/.libs/libefl.so\"/>" >> $@
486 echo " <dllmap dll=\"evas\" target=\"$(abs_top_builddir)/src/lib/evas/.libs/libevas.so\"/>" >> $@
487 echo " <dllmap dll=\"eldbus\" target=\"$(abs_top_builddir)/src/lib/eldbus/.libs/libeldbus.so\"/>" >> $@
488 echo " <dllmap dll=\"elementary\" target=\"$(abs_top_builddir)/src/lib/elementary/.libs/libelementary.so\"/>" >> $@
489 echo "</configuration>" >> $@
490
491# C Sharp test executable
492AM_TESTS_ENVIRONMENT += MONO='mono'
493AM_TESTS_ENVIRONMENT += MONO_BUILDPATH='$(abs_top_builddir)'
494AM_TESTS_ENVIRONMENT += MONO_PATH='$(TEST_PATHS)'
495AM_TESTS_ENVIRONMENT += EXEEXT='$(EXEEXT)'
496if HAVE_WIN32
497AM_TESTS_ENVIRONMENT += PATH='$(PATH):$(TEST_PATHS):$(WIN_ADD_TEST_PATHS)'
498else
499AM_TESTS_ENVIRONMENT += LD_LIBRARY_PATH='$(LD_LIBRARY_PATH):$(TEST_PATHS)'
500
501check_PROGRAMS += tests/efl_mono/efl_mono
502TESTS += tests/efl_mono/mono_test_driver.sh
503
504tests_efl_mono_efl_mono_SOURCES = \
505 tests/efl_mono/Main.cs \
506 tests/efl_mono/TestUtils.cs \
507 tests/efl_mono/BasicDirection.cs \
508 tests/efl_mono/Eina.cs \
509 tests/efl_mono/Eldbus.cs \
510 tests/efl_mono/Eo.cs \
511 tests/efl_mono/EoPromises.cs \
512 tests/efl_mono/Errors.cs \
513 tests/efl_mono/Events.cs \
514 tests/efl_mono/FunctionPointers.cs \
515 tests/efl_mono/FunctionPointerMarshalling.cs \
516 tests/efl_mono/Inheritance.cs \
517 tests/efl_mono/Parts.cs \
518 tests/efl_mono/Promises.cs \
519 tests/efl_mono/Strbuf.cs \
520 tests/efl_mono/Strings.cs \
521 tests/efl_mono/Structs.cs \
522 tests/efl_mono/Value.cs \
523 tests/efl_mono/ValueEolian.cs \
524 tests/efl_mono/EinaTestData.cs \
525 tests/efl_mono/StructHelpers.cs
526
527beta_mono_flags =
528
529if HAVE_CSHARP_BETA
530beta_mono_flags += -define:EFL_BETA
531endif
532
533tests/efl_mono/efl_mono$(EXEEXT): $(tests_efl_mono_efl_mono_SOURCES) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_test.dll tests/efl_mono/efl_mono$(EXEEXT).config
534 @rm -f $@
535 $(AM_V_MCS) $(MCS) $(MCSFLAGS) -r:$(abs_top_builddir)/src/lib/efl_mono/libefl_mono.dll -r:$(abs_top_builddir)/src/tests/efl_mono/libefl_mono_test.dll -out:$@ $(filter %.cs, $(^)) $(beta_mono_flags)
536
537# Rule for generating the .cs files
538tests/efl_mono/%.eo.cs: tests/efl_mono/%.eo $(_EOLIAN_MONO_DEP)
539 $(AM_V_EOLMONO) \
540 $(MKDIR_P) $(dir $@); \
541 $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport "@DLIB_PREFIX_MONO@efl_mono_native_test@DLIB_SUFFIX_MONO@" -o $@ $(ALL_EO_REFS) $<
542
543CLEANFILES += tests/efl_mono/libefl_mono_test.dll $(efl_mono_test_eolian_mono_files) $(efl_mono_test_eolian_c) $(efl_mono_test_eolian_h) tests/efl_mono/efl_mono.config
544
545endif
546
547
548endif
549endif