plugins: removed decision-proto plugin.
[profile/ivi/murphy.git] / src / Makefile.am
1 SUBDIRS         = murphy-db . \
2                   common/tests core/tests daemon/tests resolver/tests plugins/tests
3 AM_CFLAGS       = $(WARNING_CFLAGS) -I$(top_builddir) -DLIBDIR=\"@LIBDIR@\"
4 MURPHY_CFLAGS   = 
5 pkgconfigdir    = ${libdir}/pkgconfig
6
7 bin_PROGRAMS    =
8 lib_LTLIBRARIES =
9 pkgconfig_DATA  =
10 EXTRA_DIST      =
11
12 QUIET_GEN       = $(Q:@=@echo '  GEN   '$@;)
13
14 LEXCOMPILE      = $(LEX) $(LFLAGS) $(AM_LFLAGS)
15 YACCCOMPILE     = $(YACC) $(YFLAGS) $(AM_YFLAGS)
16
17 INCLUDES        = -I$(top_builddir)/src/murphy-db/include -I$(top_builddir)
18
19 ###################################
20 # murphy common library
21 #
22
23 lib_LTLIBRARIES += libmurphy-common.la
24 EXTRA_DIST      += common/murphy-common.pc
25 pkgconfig_DATA  += common/murphy-common.pc
26
27
28 libmurphy_commonh_ladir      =          \
29                 $(includedir)/murphy
30
31 libmurphy_commonh_la_HEADERS =          \
32                 common.h                \
33                 config.h
34
35 libmurphy_common_ladir      =           \
36                 $(includedir)/murphy/common
37
38 libmurphy_common_la_HEADERS =           \
39                 common/macros.h         \
40                 common/list.h           \
41                 common/log.h            \
42                 common/debug.h          \
43                 common/debug-info.h     \
44                 common/mm.h             \
45                 common/hashtbl.h        \
46                 common/mainloop.h       \
47                 common/utils.h          \
48                 common/file-utils.h     \
49                 common/msg.h            \
50                 common/refcnt.h         \
51                 common/transport.h
52
53 libmurphy_common_la_REGULAR_SOURCES =           \
54                 common/log.c                    \
55                 common/debug.c                  \
56                 common/mm.c                     \
57                 common/hashtbl.c                \
58                 common/mainloop.c               \
59                 common/utils.c                  \
60                 common/file-utils.c             \
61                 common/msg.c                    \
62                 common/transport.c              \
63                 common/stream-transport.c       \
64                 common/internal-transport.c     \
65                 common/dgram-transport.c
66
67 libmurphy_common_la_SOURCES =                           \
68                 $(libmurphy_common_la_REGULAR_SOURCES)  \
69                 common-func-info.c
70
71 libmurphy_common_la_CFLAGS  =           \
72                 $(AM_CFLAGS)
73
74 libmurphy_common_la_LDFLAGS =                                   \
75                 -Wl,-version-script=linker-script.common        \
76                 -version-info @MURPHY_VERSION_INFO@
77
78 libmurphy_common_la_LIBADD  =           \
79                 -lrt
80
81 libmurphy_common_la_DEPENDENCIES = linker-script.common
82
83 libcommonincludedir      = $(includedir)/murphy/common
84 libcommoninclude_HEADERS = $(libmurphy_common_la_HEADERS)
85
86 # linker script generation
87 linker-script.common: $(libmurphy_common_la_HEADERS)
88         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
89
90 clean-linker-script::
91         -rm -f linker-script.common
92
93 # debug file:line-function mapping generation
94 common-func-info.c: $(libmurphy_common_la_REGULAR_SOURCES)
95         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
96
97 clean-func-infos::
98         -rm common-func-info.c
99
100 ###################################
101 # murphy core library
102 #
103
104 lib_LTLIBRARIES += libmurphy-core.la
105 EXTRA_DIST      += core/murphy-core.pc
106 pkgconfig_DATA  += core/murphy-core.pc
107
108 libmurphy_coreh_ladir      =            \
109                 $(includedir)/murphy
110
111 libmurphy_coreh_la_HEADERS =            \
112                 core.h
113
114 libmurphy_core_ladir =                  \
115                 $(includedir)/murphy/core
116
117 libmurphy_core_la_HEADERS =             \
118                 core/context.h          \
119                 core/plugin.h           \
120                 core/console-command.h  \
121                 core/console.h          \
122                 core/scripting.h        \
123                 core/method.h           \
124                 core/event.h
125
126 libmurphy_core_la_REGULAR_SOURCES =     \
127                 core/context.c          \
128                 core/plugin.c           \
129                 core/console.c          \
130                 core/scripting.c        \
131                 core/method.c           \
132                 core/event.c
133
134 libmurphy_core_la_SOURCES =             \
135                 $(libmurphy_core_la_REGULAR_SOURCES) \
136                 core-func-info.c
137
138 libmurphy_core_la_CFLAGS  =             \
139                 $(AM_CFLAGS)
140
141 libmurphy_core_la_LDFLAGS =             \
142                 -Wl,-version-script=linker-script.core \
143                 -version-info @MURPHY_VERSION_INFO@
144
145 libmurphy_core_la_LIBADD  =             \
146                 libmurphy-common.la -ldl
147
148 libmurphy_core_la_DEPENDENCIES = linker-script.core libmurphy-common.la
149
150 # core linker script generation
151 linker-script.core: $(libmurphy_core_la_HEADERS)
152         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
153
154 clean-linker-script::
155         -rm -f linker-script.core
156
157 # debug file:line-function mapping generation
158 core-func-info.c: $(libmurphy_core_la_REGULAR_SOURCES)
159         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
160
161 clean-func-infos::
162         -rm core-func-info.c
163
164 ###################################
165 # murphy dbus library
166 #
167
168 if DBUS_ENABLED
169 lib_LTLIBRARIES += libmurphy-dbus.la
170 EXTRA_DIST      += common/murphy-dbus.pc
171 pkgconfig_DATA  += common/murphy-dbus.pc
172
173 libmurphy_dbus_ladir      =             \
174                 $(includedir)/murphy/common
175
176 libmurphy_dbus_la_HEADERS =             \
177                 common/dbus.h           \
178                 common/dbus-transport.h
179
180 libmurphy_dbus_la_REGULAR_SOURCES =     \
181                 common/dbus.c           \
182                 common/dbus-glue.c      \
183                 common/dbus-transport.c
184
185 libmurphy_dbus_la_SOURCES =             \
186                 $(libmurphy_dbus_la_REGULAR_SOURCES) \
187                 dbus-func-info.c
188
189 libmurphy_dbus_la_CFLAGS  =             \
190                 $(AM_CFLAGS)            \
191                 $(DBUS_CFLAGS)
192
193 libmurphy_dbus_la_LDFLAGS =             \
194                 -Wl,-version-script=linker-script.dbus \
195                 -version-info @MURPHY_VERSION_INFO@
196
197 libmurphy_dbus_la_LIBADD  =             \
198                 -lrt $(DBUS_LIBS)
199
200 libmurphy_dbus_la_DEPENDENCIES = linker-script.dbus
201
202 libdbusincludedir      = $(includedir)/murphy/dbus
203 libdbusinclude_HEADERS = $(libmurphy_dbus_la_HEADERS)
204
205 # linker script generation
206 linker-script.dbus: $(libmurphy_dbus_la_HEADERS)
207         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
208
209 clean-linker-script::
210         -rm -f linker-script.dbus
211
212 # debug file:line-function mapping generation
213 dbus-func-info.c: $(libmurphy_dbus_la_REGULAR_SOURCES)
214         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
215
216 clean-func-infos::
217         -rm dbus-func-info.c
218 endif
219
220 ###################################
221 # murphy pulse glue library
222 #
223
224 if PULSE_ENABLED
225 lib_LTLIBRARIES += libmurphy-pulse.la
226 EXTRA_DIST      += common/murphy-pulse.pc
227 pkgconfig_DATA  += common/murphy-pulse.pc
228
229 libmurphy_pulse_ladir      =            \
230                 $(includedir)/murphy/common
231
232 libmurphy_pulse_la_HEADERS =            \
233                 common/pulse-glue.h
234
235 libmurphy_pulse_la_SOURCES =            \
236                 common/pulse-glue.c
237
238 libmurphy_pulse_la_CFLAGS  =            \
239                 $(AM_CFLAGS)            \
240                 $(PULSE_CFLAGS)
241
242 libmurphy_pulse_la_LDFLAGS =            \
243                 -Wl,-version-script=linker-script.pulse \
244                 -version-info @MURPHY_VERSION_INFO@
245
246 libmurphy_pulse_la_LIBADD  =
247
248 libmurphy_pulse_la_DEPENDENCIES = linker-script.pulse
249
250 libpulseincludedir      = $(includedir)/murphy/pulse
251 libpulseinclude_HEADERS = $(libmurphy_pulse_la_HEADERS)
252
253 # linker script generation
254 linker-script.pulse: $(libmurphy_pulse_la_HEADERS)
255         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
256
257 clean-linker-script::
258         -rm -f linker-script.pulse
259 endif
260
261 ###################################
262 # murphy ecore glue library
263 #
264
265 if ECORE_ENABLED
266 lib_LTLIBRARIES += libmurphy-ecore.la
267 EXTRA_DIST      += common/murphy-ecore.pc
268 pkgconfig_DATA  += common/murphy-ecore.pc
269
270 libmurphy_ecore_ladir      =            \
271                 $(includedir)/murphy/common
272
273 libmurphy_ecore_la_HEADERS =            \
274                 common/ecore-glue.h
275
276 libmurphy_ecore_la_SOURCES =            \
277                 common/ecore-glue.c
278
279 libmurphy_ecore_la_CFLAGS  =            \
280                 $(AM_CFLAGS)            \
281                 $(ECORE_CFLAGS)
282
283 libmurphy_ecore_la_LDFLAGS =            \
284                 -Wl,-version-script=linker-script.ecore \
285                 -version-info @MURPHY_VERSION_INFO@
286
287 libmurphy_ecore_la_LIBADD  =
288
289 libmurphy_ecore_la_DEPENDENCIES = linker-script.ecore
290
291 libecoreincludedir      = $(includedir)/murphy/ecore
292 libecoreinclude_HEADERS = $(libmurphy_ecore_la_HEADERS)
293
294 # linker script generation
295 linker-script.ecore: $(libmurphy_ecore_la_HEADERS)
296         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
297
298 clean-linker-script::
299         -rm -f linker-script.ecore
300 endif
301
302 ###################################
303 # murphy glib glue library
304 #
305
306 if GLIB_ENABLED
307 lib_LTLIBRARIES += libmurphy-glib.la
308 EXTRA_DIST      += common/murphy-glib.pc
309 pkgconfig_DATA  += common/murphy-glib.pc
310
311 libmurphy_glib_ladir      =             \
312                 $(includedir)/murphy/common
313
314 libmurphy_glib_la_HEADERS =             \
315                 common/glib-glue.h
316
317 libmurphy_glib_la_SOURCES =             \
318                 common/glib-glue.c
319
320 libmurphy_glib_la_CFLAGS  =             \
321                 $(AM_CFLAGS)            \
322                 $(GLIB_CFLAGS)
323
324 libmurphy_glib_la_LDFLAGS =             \
325                 -Wl,-version-script=linker-script.glib \
326                 -version-info @MURPHY_VERSION_INFO@
327
328 libmurphy_glib_la_LIBADD  =
329
330 libmurphy_glib_la_DEPENDENCIES = linker-script.glib
331
332 libglibincludedir      = $(includedir)/murphy/glib
333 libglibinclude_HEADERS = $(libmurphy_glib_la_HEADERS)
334
335 # linker script generation
336 linker-script.glib: $(libmurphy_glib_la_HEADERS)
337         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
338
339 clean-linker-script::
340         -rm -f linker-script.glib
341 endif
342
343 ###################################
344 # murphy resolver library
345 #
346
347 lib_LTLIBRARIES += libmurphy-resolver.la
348 EXTRA_DIST      += resolver/murphy-resolver.pc
349 pkgconfig_DATA  += resolver/murphy-resolver.pc
350
351 libmurphy_resolver_ladir =                      \
352                 $(includedir)/murphy/resolver
353
354 libmurphy_resolver_la_HEADERS =                 \
355                 resolver/resolver.h
356
357 SIMPLE_SCRIPT_SOURCES =                                         \
358                 resolver/scripting/simple/simple-script.c       \
359                 resolver/scripting/simple/simple-scanner.c      \
360                 resolver/scripting/simple/simple-parser.c       \
361                 resolver/scripting/simple/call.c                \
362                 resolver/scripting/simple/builtins.c
363
364 libmurphy_resolver_la_REGULAR_SOURCES =                         \
365                 resolver/resolver.c                             \
366                 resolver/parser.c                               \
367                 resolver/scanner.c                              \
368                 resolver/target.c                               \
369                 resolver/target-sorter.c                        \
370                 resolver/fact.c                                 \
371                 resolver/events.c                               \
372                 $(SIMPLE_SCRIPT_SOURCES)
373
374 libmurphy_resolver_la_SOURCES =                 \
375                 $(libmurphy_resolver_la_REGULAR_SOURCES)        \
376                 resolver-func-info.c
377
378 libmurphy_resolver_la_CFLAGS =                  \
379                 $(AM_CFLAGS)                    \
380                 $(INCLUDES)
381
382 libmurphy_resolver_la_LDFLAGS =                 \
383                 -Wl,-version-script=linker-script.resolver \
384                 -version-info @MURPHY_VERSION_INFO@
385
386 libmurphy_resolver_la_LIBADD =          \
387                 libmurphy-core.la       \
388                 libmurphy-common.la     \
389                 murphy-db/mql/libmql.la \
390                 murphy-db/mqi/libmqi.la \
391                 murphy-db/mdb/libmdb.la
392
393 libmurphy_resolver_la_DEPENDENCIES = linker-script.resolver  \
394                                      libmurphy-core.la       \
395                                      libmurphy-common.la     \
396                                      murphy-db/mql/libmql.la \
397                                      murphy-db/mqi/libmqi.la \
398                                      murphy-db/mdb/libmdb.la
399
400 # resolver lexical analyser and parser generation
401 RESOLVER_PARSER_PREFIX = yy_res_
402
403 resolver/scanner.c: resolver/scanner.l resolver/parser.h
404         $(LEXCOMPILE) -P $(RESOLVER_PARSER_PREFIX) $<
405         mv lex.$(RESOLVER_PARSER_PREFIX).c $@
406
407 resolver/parser.h resolver/parser.c: resolver/parser.y
408         $(YACCCOMPILE) -p $(RESOLVER_PARSER_PREFIX) $<
409         mv -f y.tab.h resolver/parser.h
410         mv -f y.tab.c resolver/parser.c
411
412 # debug file:line-function mapping generation
413 resolver-func-info.c: $(libmurphy_resolver_la_REGULAR_SOURCES)
414         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
415
416 clean-func-infos::
417         -rm resolver-func-info.c
418
419 # resolver linker script generation
420 linker-script.resolver: $(libmurphy_resolver_la_HEADERS)
421         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
422
423 clean-linker-script::
424         -rm -f linker-script.resolver
425
426 # simple interpreter lexical analyser and parser generation
427 SIMPLE_PARSER_PREFIX = yy_smpl_
428
429 resolver/scripting/simple/simple-scanner.c:             \
430     resolver/scripting/simple/simple-scanner.l          \
431     resolver/scripting/simple/simple-parser.h
432         $(LEXCOMPILE) -P $(SIMPLE_PARSER_PREFIX) $<
433         mv lex.$(SIMPLE_PARSER_PREFIX).c $@
434
435 # simple interpreter parser generation
436 resolver/scripting/simple/simple-parser.h       \
437 resolver/scripting/simple/simple-parser.c:      \
438     resolver/scripting/simple/simple-parser.y
439         $(YACCCOMPILE) -p $(SIMPLE_PARSER_PREFIX) $<
440         mv -f y.tab.h resolver/scripting/simple/simple-parser.h
441         mv -f y.tab.c resolver/scripting/simple/simple-parser.c
442
443 ###################################
444 # murphy resource library
445 #
446
447 lib_LTLIBRARIES += libmurphy-resource.la
448 EXTRA_DIST      += resource/murphy-resource.pc
449 pkgconfig_DATA  += resource/murphy-resource.pc
450
451 libmurphy_resource_ladir =                      \
452                 $(includedir)/murphy/resource
453
454 libmurphy_resource_la_HEADERS =                 \
455                 resource/data-types.h           \
456                 resource/common-api.h           \
457                 resource/client-api.h           \
458                 resource/manager-api.h          \
459                 resource/config-api.h           \
460                 resource/protocol.h
461
462 libmurphy_resource_la_REGULAR_SOURCES =         \
463                 resource/attribute.c            \
464                 resource/resource.c             \
465                 resource/resource-set.c         \
466                 resource/application-class.c    \
467                 resource/resource-owner.c       \
468                 resource/resource-client.c      \
469                 resource/zone.c
470
471 libmurphy_resource_la_SOURCES =                 \
472                 $(libmurphy_resource_la_REGULAR_SOURCES)        \
473                 resource-func-info.c
474
475 libmurphy_resource_la_CFLAGS =                  \
476                 $(AM_CFLAGS)                    \
477                 $(INCLUDES)
478
479 libmurphy_resource_la_LDFLAGS =                 \
480                 -Wl,-version-script=linker-script.resource \
481                 -version-info @MURPHY_VERSION_INFO@
482
483 libmurphy_resource_la_LIBADD =      \
484                 libmurphy-core.la   \
485                 libmurphy-common.la \
486                 murphy-db/mql/libmql.la \
487                 murphy-db/mqi/libmqi.la \
488                 murphy-db/mdb/libmdb.la
489
490 libmurphy_resource_la_DEPENDENCIES = linker-script.resource \
491                                      libmurphy-core.la      \
492                                      libmurphy-common.la
493
494 # debug file:line-function mapping generation
495 resource-func-info.c: $(libmurphy_resource_la_REGULAR_SOURCES)
496         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
497
498 clean-func-infos::
499         -rm resource-func-info.c
500
501 # resource linker script generation
502 linker-script.resource: $(libmurphy_resource_la_HEADERS)
503         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
504
505 clean-linker-script::
506         -rm -f linker-script.resource
507
508
509 ###################################
510 # murphy plugins
511 #
512
513 BUILTIN_PLUGINS    =
514 BUILTIN_CFLAGS     = -D__MURPHY_BUILTIN_PLUGIN__ $(AM_CFLAGS)
515 BUILTIN_LIBS       =
516
517 LINKEDIN_PLUGINS   =
518
519 plugin_LTLIBRARIES = 
520 plugindir          = $(libdir)/murphy/plugins
521
522
523 # test plugin
524 TEST_PLUGIN_SOURCES = plugins/plugin-test.c
525 TEST_PLUGIN_CFLAGS  =
526 TEST_PLUGIN_LIBS    =
527
528 if !DISABLED_PLUGIN_TEST
529 if BUILTIN_PLUGIN_TEST
530 BUILTIN_PLUGINS += $(TEST_PLUGIN_SOURCES)
531 BUILTIN_CFLAGS  += $(TEST_PLUGIN_CFLAGS)
532 BUILTIN_LIBS    += $(TEST_PLUGIN_LIBS)
533 else
534 plugin_test_la_SOURCES = $(TEST_PLUGIN_SOURCES)
535 plugin_test_la_CFLAGS  = $(TEST_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
536 plugin_test_la_LDFLAGS = -module -avoid-version
537 plugin_test_la_LIBADD  = $(TEST_PLUGIN_LIBS)
538
539 plugin_LTLIBRARIES    += plugin-test.la
540 endif
541 endif
542
543 # dbus plugin
544 if DBUS_ENABLED
545 DBUS_PLUGIN_SOURCES = plugins/plugin-dbus.c
546 DBUS_PLUGIN_CFLAGS  = $(DBUS_CFLAGS)
547 DBUS_PLUGIN_LIBS    = libmurphy-dbus.la
548
549 if !DISABLED_PLUGIN_DBUS
550 if BUILTIN_PLUGIN_DBUS
551 BUILTIN_PLUGINS += $(DBUS_PLUGIN_SOURCES)
552 BUILTIN_CFLAGS  += $(DBUS_PLUGIN_CFLAGS)
553 BUILTIN_LIBS    += $(DBUS_PLUGIN_LIBS)
554 else
555 plugin_dbus_la_SOURCES = $(DBUS_PLUGIN_SOURCES)
556 plugin_dbus_la_CFLAGS  = $(DBUS_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
557 plugin_dbus_la_LDFLAGS = -module -avoid-version
558 plugin_dbus_la_LIBADD  = $(DBUS_PLUGIN_LIBS)
559
560 plugin_LTLIBRARIES    += plugin-dbus.la
561 endif
562 endif
563 endif
564
565 if GLIB_ENABLED
566 # glib plugin
567 GLIB_PLUGIN_SOURCES = plugins/plugin-glib.c
568 GLIB_PLUGIN_CFLAGS  = $(GLIB_CFLAGS)
569 GLIB_PLUGIN_LIBS    = $(GLIB_LIBS)
570
571 if !DISABLED_PLUGIN_GLIB
572 if BUILTIN_PLUGIN_GLIB
573 BUILTIN_PLUGINS += $(GLIB_PLUGIN_SOURCES)
574 BUILTIN_CFLAGS  += $(GLIB_PLUGIN_CFLAGS)
575 BUILTIN_LIBS    += $(GLIB_PLUGIN_LIBS)
576 else
577 plugin_glib_la_SOURCES = $(GLIB_PLUGIN_SOURCES)
578 plugin_glib_la_CFLAGS  = $(GLIB_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
579 plugin_glib_la_LDFLAGS = -module -avoid-version
580 plugin_glib_la_LIBADD  = $(GLIB_PLUGIN_LIBS)
581
582 plugin_LTLIBRARIES    += plugin-glib.la
583 endif
584 endif
585 endif
586
587 # resource-dbus plugin
588 if DBUS_ENABLED
589 RESOURCE_DBUS_PLUGIN_SOURCES = plugins/plugin-resource-dbus.c
590 RESOURCE_DBUS_PLUGIN_CFLAGS  = $(DBUS_CFLAGS)
591 RESOURCE_DBUS_PLUGIN_LIBS    = libmurphy-resource.la
592
593 if !DISABLED_PLUGIN_RESOURCE_DBUS
594 if BUILTIN_PLUGIN_RESOURCE_DBUS
595 BUILTIN_PLUGINS += $(RESOURCE_DBUS_PLUGIN_SOURCES)
596 BUILTIN_CFLAGS  += $(RESOURCE_DBUS_PLUGIN_CFLAGS)
597 BUILTIN_LIBS    += $(RESOURCE_DBUS_PLUGIN_LIBS)
598 else
599 plugin_resource_dbus_la_SOURCES = $(RESOURCE_DBUS_PLUGIN_SOURCES)
600 plugin_resource_dbus_la_CFLAGS  = $(RESOURCE_DBUS_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
601 plugin_resource_dbus_la_LDFLAGS = -module -avoid-version
602 plugin_resource_dbus_la_LIBADD  = $(RESOURCE_DBUS_PLUGIN_LIBS)
603
604 plugin_LTLIBRARIES    += plugin-resource-dbus.la
605 endif
606 endif
607 endif
608
609 # console plugin
610 CONSOLE_PLUGIN_REGULAR_SOURCES = plugins/plugin-console.c
611 CONSOLE_PLUGIN_SOURCES         = $(CONSOLE_PLUGIN_REGULAR_SOURCES) \
612                                  plugin-console-func-info.c
613 CONSOLE_PLUGIN_CFLAGS          =
614 CONSOLE_PLUGIN_LIBS            =
615
616 if CONSOLE_ENABLED
617 if !DISABLED_PLUGIN_CONSOLE
618 if BUILTIN_PLUGIN_CONSOLE
619 BUILTIN_PLUGINS += $(CONSOLE_PLUGIN_SOURCES)
620 BUILTIN_CFLAGS  += $(CONSOLE_PLUGIN_CFLAGS)
621 BUILTIN_LIBS    += $(CONSOLE_PLUGIN_LIBS)
622 else
623 plugin_console_la_SOURCES = $(CONSOLE_PLUGIN_SOURCES)
624 plugin_console_la_CFLAGS  = $(CONSOLE_PLUGIN_CFLAGS) \
625                             $(MURPHY_CFLAGS) $(AM_CFLAGS)
626 plugin_console_la_LDFLAGS = -module -avoid-version
627 plugin_console_la_LIBADD  = $(CONSOLE_PLUGIN_LIBS)
628
629 plugin_LTLIBRARIES    += plugin-console.la
630 endif
631 endif
632 # debug file:line-function mapping generation
633 plugin-console-func-info.c: $(CONSOLE_PLUGIN_REGULAR_SOURCES)
634         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
635
636 clean-func-infos::
637         -rm plugin-console-func-info.c
638 endif
639
640 # signalling plugin
641 SIGNALLING_PLUGIN_SOURCES = plugins/plugin-signalling.c \
642                             plugins/signalling/transaction.c \
643                             plugins/signalling/util.c \
644                             plugins/signalling/client.c \
645                             plugins/signalling/info.c \
646                             plugins/signalling/endpoint.c \
647                             plugins/signalling/plugin.h \
648                             plugins/signalling/transaction.h \
649                             plugins/signalling/util.h \
650                             plugins/signalling/client.h \
651                             plugins/signalling/info.h \
652                             plugins/signalling/endpoint.h
653 SIGNALLING_PLUGIN_HEADERS = plugins/signalling/signalling.h
654 SIGNALLING_PLUGIN_CFLAGS  =
655 SIGNALLING_PLUGIN_LIBS    =
656 SIGNALLING_PLUGINdir      = $(includedir)/murphy/plugins/signalling
657
658
659 if BUILTIN_PLUGIN_SIGNALLING
660 BUILTIN_PLUGINS += $(SIGNALLING_PLUGIN_SOURCES)
661 BUILTIN_CFLAGS  += $(SIGNALLING_PLUGIN_CFLAGS)
662 BUILTIN_LIBS    += $(SIGNALLING_PLUGIN_LIBS)
663 else
664 plugin_signalling_la_SOURCES = $(SIGNALLING_PLUGIN_SOURCES)
665 plugin_signalling_la_HEADERS = $(SIGNALLING_PLUGIN_HEADERS)
666 plugin_signalling_la_CFLAGS  = $(SIGNALLING_PLUGIN_CFLAGS) \
667                 $(MURPHY_CFLAGS) $(AM_CFLAGS)
668 plugin_signalling_la_LDFLAGS = -module -avoid-version
669 plugin_signalling_la_LIBADD  = $(SIGNALLING_PLUGIN_LIBS)
670 plugin_signalling_ladir      = $(SIGNALLING_PLUGINdir)
671
672 plugin_LTLIBRARIES    += plugin-signalling.la
673 endif
674
675 # native resource plugin
676 PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES =                                \
677                 plugins/resource-native/plugin-resource-native.c
678 PLUGIN_RESOURCE_NATIVE_SOURCES =                                        \
679                 $(PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES)               \
680                 plugin-resource-native-func-info.c
681 PLUGIN_RESOURCE_NATIVE_CFLAGS =                                         \
682                 $(INCLUDES)
683 PLUGIN_RESOURCE_NATIVE_LIBS =                                           \
684                 libmurphy-core.la                                       \
685                 libmurphy-common.la                                     \
686                 murphy-db/mqi/libmqi.la                                 \
687                 murphy-db/mdb/libmdb.la                                 \
688                 libmurphy-resource.la
689
690 plugin_resource_native_la_SOURCES = $(PLUGIN_RESOURCE_NATIVE_SOURCES)
691 plugin_resource_native_la_CFLAGS  = $(PLUGIN_RESOURCE_NATIVE_CFLAGS)    \
692                                     $(MURPHY_CFLAGS) $(AM_CFLAGS)
693 plugin_resource_native_la_LDFLAGS = -module -avoid-version
694 plugin_resource_native_la_LIBADD  = $(PLUGIN_RESOURCE_NATIVE_LIBS)
695
696 plugin_LTLIBRARIES += plugin-resource-native.la
697
698 # resource-client
699 bin_PROGRAMS += resource-client
700
701 resource_client_SOURCES = plugins/resource-native/resource-client.c
702 resource_client_CFLAGS  = $(AM_CFLAGS) $(BUILTIN_CFLAGS)
703 resource_client_LDADD   = $(BUILTIN_LIBS) libmurphy-common.la
704
705 # debug file:line-function mapping generation
706 plugin-resource-native-func-info.c: $(PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES)
707         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
708
709 clean-func-infos::
710         -rm plugin-resource-native-func-info.c
711
712 # domain control plugin
713 DOMAIN_CONTROL_PLUGIN_SOURCES = plugins/domain-control/plugin-domain-control.c \
714                                 plugins/domain-control/domain-control.c        \
715                                 plugins/domain-control/proxy.c                 \
716                                 plugins/domain-control/table.c                 \
717                                 plugins/domain-control/message.c               \
718                                 plugins/domain-control/notify.c
719
720 DOMAIN_CONTROL_PLUGIN_CFLAGS  =
721 DOMAIN_CONTROL_PLUGIN_LIBS    =
722
723 if !DISABLED_PLUGIN_DOMAIN_CONTROL
724 if BUILTIN_PLUGIN_DOMAIN_CONTROL
725 LINKEDIN_PLUGINS             += libmurphy-plugin-domain-control.la
726 lib_LTLIBRARIES              += libmurphy-plugin-domain-control.la
727 DOMAIN_CONTROL_PLUGIN_LOADER  = linkedin-domain-control-loader.c
728 DOMAIN_CONTROL_PLUGIN_CFLAGS += $(BUILTIN_CFLAGS)
729
730
731 libmurphy_plugin_domain_control_ladir =                          \
732                 $(includedir)/murphy/domain-control
733
734 libmurphy_plugin_domain_control_la_SOURCES =                     \
735                 $(DOMAIN_CONTROL_PLUGIN_SOURCES)                 \
736                 $(DOMAIN_CONTROL_PLUGIN_LOADER)
737
738 libmurphy_plugin_domain_control_la_CFLAGS =                      \
739                 $(DOMAIN_CONTROL_PLUGIN_CFLAGS)                  \
740                 $(AM_CFLAGS)
741
742 libmurphy_plugin_domain_control_la_LDFLAGS =                     \
743                 -Wl,-version-script=linker-script.domain-control \
744                 -version-info @MURPHY_VERSION_INFO@
745
746 libmurphy_plugin_domain_control_la_LIBADD =             \
747                 libmurphy-core.la                       \
748                 libmurphy-common.la                     \
749                 murphy-db/mql/libmql.la                 \
750                 murphy-db/mqi/libmqi.la                 \
751                 murphy-db/mdb/libmdb.la
752
753 libmurphy_plugin_domain_control_la_DEPENDENCIES =       \
754                 linker-script.domain-control            \
755                 libmurphy-core.la                       \
756                 libmurphy-common.la                     \
757                 murphy-db/mql/libmql.la                 \
758                 murphy-db/mqi/libmqi.la                 \
759                 murphy-db/mdb/libmdb.la
760
761 # linkedin domain control plugin linker script generation
762 linker-script.domain-control: $(DOMAIN_CONTROL_PLUGIN_LOADER:%.c=%.h)
763         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q -o $@ $^
764
765 clean-linker-script::
766         -rm -f linker-script.domain-control
767 else
768 plugin_domain_control_la_SOURCES = $(DOMAIN_CONTROL_PLUGIN_SOURCES)
769 plugin_domain_control_la_CFLAGS  = $(DOMAIN_CONTROL_PLUGIN_CFLAGS) \
770                                    $(MURPHY_CFLAGS) $(AM_CFLAGS)
771 plugin_domain_control_la_LDFLAGS = -module -avoid-version
772 plugin_domain_control_la_LIBADD  = $(DOMAIN_CONTROL_PLUGIN_LIBS)
773 plugin_LTLIBRARIES              += plugin-domain-control.la
774 endif
775
776 # domain controller client library
777 lib_LTLIBRARIES                        += libmurphy-domain-controller.la
778 libmurphy_domain_controller_la_SOURCES  = plugins/domain-control/client.c      \
779                                           plugins/domain-control/table-common.c\
780                                           plugins/domain-control/message.c
781 libmurphy_domain_controller_la_CFLAGS   =
782 libmurphy_domain_controller_la_LIBADD   = libmurphy-common.la     \
783                                           murphy-db/mql/libmql.la \
784                                           murphy-db/mqi/libmqi.la \
785                                           murphy-db/mdb/libmdb.la
786
787 # test domain controller
788 bin_PROGRAMS += test-domain-controller
789
790 test_domain_controller_SOURCES = plugins/domain-control/test-client.c
791 test_domain_controller_CFLAGS  = $(AM_CFLAGS)
792 test_domain_controller_LDADD   = libmurphy-domain-controller.la    \
793                                  libmurphy-common.la \
794                                  -lreadline
795 endif
796
797 ###################################
798 # murphy daemon
799 #
800
801 bin_PROGRAMS += murphyd
802 EXTRA_DIST   += $(config_DATA)
803 configdir     = $(sysconfdir)/murphy
804 config_DATA   = daemon/murphy.conf
805
806 murphyd_SOURCES =                       \
807                 daemon/daemon.c         \
808                 daemon/config.c         \
809                 $(BUILTIN_PLUGINS)      \
810                 load-linkedin-plugins.c
811
812 murphyd_CFLAGS  =                       \
813                 $(AM_CFLAGS)            \
814                 $(BUILTIN_CFLAGS)
815
816 murphyd_LDADD  =                        \
817                 $(BUILTIN_LIBS)         \
818                 $(LINKEDIN_PLUGINS)     \
819                 libmurphy-resource.la   \
820                 libmurphy-resolver.la   \
821                 libmurphy-core.la       \
822                 libmurphy-common.la
823
824 murphyd_LDFLAGS = -rdynamic
825
826
827
828 ###################################
829 # linkedin (DSO) loader generation
830 #
831
832 linkedin-%-loader.c:
833         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
834             -p $(shell echo $@ | \
835                 sed 's/linkedin-//g;s/-loader.c//g') -o $@
836
837 linkedin-%-loader.h:
838         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
839             -p $(shell echo $@ | \
840                 sed 's/linkedin-//g;s/-loader.h//g') -o $@
841
842 load-linkedin-plugins.c:
843         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
844             -o $@ -d $(shell echo $(LINKEDIN_PLUGINS) | \
845                            sed 's/.*plugin-//g;s/\.[^\.]*$$//g')
846
847 clean-local::
848         -rm -f linkedin-*-loader.[hc] load-linkedin-plugins.c
849
850 ###################################
851 # murphy console client
852 #
853
854 if CONSOLE_ENABLED
855 bin_PROGRAMS += murphy-console
856
857 murphy_console_SOURCES =                \
858                 console-client/client.c
859
860 murphy_console_CFLAGS  =                \
861                 $(AM_CFLAGS)
862
863 murphy_console_LDADD  =                 \
864                 libmurphy-common.la     \
865                 $(BUILTIN_LIBS)
866
867 if DBUS_ENABLED
868 murphy_console_LDADD += libmurphy-dbus.la
869 endif
870
871 murphy_console_LDFLAGS = -rdynamic -lreadline
872 endif
873
874 # cleanup
875 clean-local:: # clean-linker-script clean-func-infos
876         -rm -f *~