system-controller: use hash instead of pointers to fetch surface objects
[profile/ivi/murphy.git] / src / Makefile.am
1 SUBDIRS         = murphy-db . \
2                   common/tests breedline/tests core/tests \
3                   core/lua-decision/tests resolver/tests \
4                   daemon/tests  plugins/tests
5
6 AM_CFLAGS       = $(WARNING_CFLAGS) $(AM_CPPFLAGS) \
7                   -DSYSCONFDIR=\"@SYSCONFDIR@\" -DLIBDIR=\"@LIBDIR@\"
8 MURPHY_CFLAGS   =
9 pkgconfigdir    = ${libdir}/pkgconfig
10
11 bin_PROGRAMS    =
12 lib_LTLIBRARIES =
13 pkgconfig_DATA  =
14 EXTRA_DIST      =
15
16 QUIET_GEN      = $(Q:@=@echo '  GEN   '$@;)
17
18 LEXCOMPILE      = $(LEX) $(LFLAGS) $(AM_LFLAGS)
19 YACCCOMPILE     = $(YACC) $(YFLAGS) $(AM_YFLAGS)
20
21 AM_CPPFLAGS     = -I$(top_builddir) -I$(top_builddir)/src \
22                   -I$(top_builddir)/src/murphy-db/include
23 BUILT_SOURCES   =
24
25 ###################################
26 # murphy common library
27 #
28
29 lib_LTLIBRARIES += libmurphy-common.la
30 EXTRA_DIST      += common/murphy-common.pc
31 pkgconfig_DATA  += common/murphy-common.pc
32
33
34 libmurphy_commonh_ladir      =          \
35                 $(includedir)/murphy
36
37 libmurphy_commonh_la_HEADERS =          \
38                 common.h                \
39                 config.h
40
41 libmurphy_common_ladir      =           \
42                 $(includedir)/murphy/common
43
44 libmurphy_common_la_HEADERS =           \
45                 common/macros.h         \
46                 common/list.h           \
47                 common/log.h            \
48                 common/debug.h          \
49                 common/debug-info.h     \
50                 common/env.h            \
51                 common/mm.h             \
52                 common/hashtbl.h        \
53                 common/process.h        \
54                 common/mainloop.h       \
55                 common/utils.h          \
56                 common/file-utils.h     \
57                 common/socket-utils.h   \
58                 common/msg.h            \
59                 common/refcnt.h         \
60                 common/fragbuf.h        \
61                 common/json.h           \
62                 common/transport.h      \
63                 common/tlv.h            \
64                 common/native-types.h   \
65                 common/mask.h           \
66                 common/process-watch.h
67
68 libmurphy_common_la_REGULAR_SOURCES =           \
69                 common/log.c                    \
70                 common/debug.c                  \
71                 common/env.c                    \
72                 common/mm.c                     \
73                 common/hashtbl.c                \
74                 common/mainloop.c               \
75                 common/utils.c                  \
76                 common/file-utils.c             \
77                 common/socket-utils.c           \
78                 common/process.c                \
79                 common/msg.c                    \
80                 common/fragbuf.c                \
81                 common/json.c                   \
82                 common/transport.c              \
83                 common/stream-transport.c       \
84                 common/internal-transport.c     \
85                 common/dgram-transport.c        \
86                 common/tlv.c                    \
87                 common/native-types.c           \
88                 common/process-watch.c
89
90 libmurphy_common_la_SOURCES =                           \
91                 $(libmurphy_common_la_REGULAR_SOURCES)
92
93 libmurphy_common_la_CFLAGS  =           \
94                 $(AM_CFLAGS)            \
95                 $(JSON_CFLAGS)
96
97 libmurphy_common_la_LDFLAGS =                                   \
98                 -Wl,-version-script=linker-script.common        \
99                 -version-info @MURPHY_VERSION_INFO@
100
101 libmurphy_common_la_LIBADD  =           \
102                 $(JSON_LIBS)            \
103                 -lrt
104
105 libmurphy_common_la_DEPENDENCIES =      \
106                 linker-script.common    \
107                 $(filter %.la, $(libmurphy_common_la_LIBADD))
108
109 libcommonincludedir      = $(includedir)/murphy/common
110 libcommoninclude_HEADERS = $(libmurphy_common_la_HEADERS)
111
112 if WEBSOCKETS_ENABLED
113 libmurphy_common_la_HEADERS +=                  \
114                 common/websocklib.h             \
115                 common/websocket.h
116
117 libmurphy_common_la_REGULAR_SOURCES +=          \
118                 common/websocklib.c             \
119                 common/websocket.c              \
120                 common/wsck-transport.c
121
122 libmurphy_common_la_CFLAGS +=                   \
123                 $(WEBSOCKETS_CFLAGS)
124
125 libmurphy_common_la_LIBADD +=                   \
126                 $(WEBSOCKETS_LIBS)
127
128 EXTRA_DIST     += $(webconsole_DATA);
129 webconsoledir   = $(datadir)/murphy/webconsole
130 webconsole_DATA =                               \
131                 plugins/console/console.js      \
132                 plugins/console/console.html
133 endif
134
135
136 # linker script generation
137 linker-script.common: $(libmurphy_common_la_HEADERS)
138         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
139                 -P "$(CC)" -c "$(libmurphy_common_la_CFLAGS)" -o $@ $^
140
141 clean-linker-script::
142         -rm -f linker-script.common
143
144 ###################################
145 # murphy lua utilities
146 #
147
148 lib_LTLIBRARIES += libmurphy-lua-utils.la
149 EXTRA_DIST      += core/lua-utils/murphy-lua-utils.pc
150 pkgconfig_DATA  += core/lua-utils/murphy-lua-utils.pc
151
152 libmurphy_lua_utils_ladir =                                     \
153                 $(includedir)/murphy/core/lua-utils
154
155 libmurphy_lua_utils_la_HEADERS =                                \
156                 core/lua-utils/lua-utils.h                      \
157                 core/lua-utils/strarray.h                       \
158                 core/lua-utils/funcbridge.h                     \
159                 core/lua-utils/object.h                         \
160                 core/lua-utils/error.h                          \
161                 core/lua-utils/include.h
162
163 libmurphy_lua_utils_la_REGULAR_SOURCES =                        \
164                 core/lua-utils/lua-utils.c                      \
165                 core/lua-utils/strarray.c                       \
166                 core/lua-utils/funcbridge.c                     \
167                 core/lua-utils/object.c                         \
168                 core/lua-utils/error.c                          \
169                 core/lua-utils/include.c
170
171 libmurphy_lua_utils_la_SOURCES =                                \
172                 $(libmurphy_lua_utils_la_REGULAR_SOURCES)
173
174 libmurphy_lua_utils_la_CFLAGS =                                 \
175                 $(AM_CFLAGS)                                    \
176                 $(LUA_CFLAGS)
177
178 libmurphy_lua_utils_la_LDFLAGS =                                \
179                 -Wl,-version-script=linker-script.lua-utils     \
180                 -version-info @MURPHY_VERSION_INFO@
181
182 libmurphy_lua_utils_la_LIBADD =                                 \
183                 libmurphy-common.la                             \
184                 $(LUA_LIBS)
185
186 libmurphy_lua_utils_la_DEPENDENCIES =                           \
187                 linker-script.lua-utils                         \
188                 $(filter %.la, $(libmurphy_lua_utils_la_LIBADD))
189
190 # lua-utils linker script generation
191 linker-script.lua-utils: $(libmurphy_lua_utils_la_HEADERS)
192         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
193                 -P "$(CC)" -c "$(libmurphy_lua_utils_la_CFLAGS)" -o $@ $^
194
195 clean-linker-script::
196         -rm -f linker-script.lua-utils
197
198 ###################################
199 # murphy lua decision network
200 #
201
202 lib_LTLIBRARIES += libmurphy-lua-decision.la
203 EXTRA_DIST      += core/lua-decision/murphy-lua-decision.pc
204 pkgconfig_DATA  += core/lua-decision/murphy-lua-decision.pc
205
206 libmurphy_lua_decision_ladir =                                  \
207                 $(includedir)/murphy/core/lua-decision
208
209 libmurphy_lua_decision_la_HEADERS =                             \
210                 core/lua-decision/mdb.h                         \
211                 core/lua-decision/element.h
212
213 libmurphy_lua_decision_la_REGULAR_SOURCES =                     \
214                 core/lua-decision/mdb.c                         \
215                 core/lua-decision/element.c
216
217 libmurphy_lua_decision_la_SOURCES =                             \
218                 $(libmurphy_lua_decision_la_REGULAR_SOURCES)
219
220 libmurphy_lua_decision_la_CFLAGS =                              \
221                 $(AM_CFLAGS)                                    \
222                 $(LUA_CFLAGS)
223
224 libmurphy_lua_decision_la_LDFLAGS =                             \
225                 -Wl,-version-script=linker-script.lua-decision  \
226                 -version-info @MURPHY_VERSION_INFO@
227
228 libmurphy_lua_decision_la_LIBADD =      \
229                 libmurphy-common.la     \
230                 libmurphy-lua-utils.la  \
231                 murphy-db/mql/libmql.la \
232                 murphy-db/mqi/libmqi.la \
233                 murphy-db/mdb/libmdb.la \
234                 $(LUA_LIBS)
235
236 libmurphy_lua_decision_la_DEPENDENCIES =        \
237                 linker-script.lua-decision      \
238                 $(filter %.la, $(libmurphy_lua_decision_la_LIBADD))
239
240 # lua-decision linker script generation
241 linker-script.lua-decision: $(libmurphy_lua_decision_la_HEADERS)
242         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
243                 -P "$(CC)" -c "$(libmurphy_lua_decision_la_CFLAGS)" -o $@ $^
244
245 clean-linker-script::
246         -rm -f linker-script.lua-decision
247
248 ###################################
249 # murphy core library
250 #
251
252 lib_LTLIBRARIES += libmurphy-core.la
253 EXTRA_DIST      += core/murphy-core.pc
254 pkgconfig_DATA  += core/murphy-core.pc
255
256 LUA_BINDINGS_SOURCES =                                  \
257                 core/lua-bindings/lua-murphy.c          \
258                 core/lua-bindings/lua-lua.c             \
259                 core/lua-bindings/lua-plugin.c          \
260                 core/lua-bindings/lua-log.c             \
261                 core/lua-bindings/lua-console.c         \
262                 core/lua-bindings/lua-bitwise.c         \
263                 core/lua-bindings/lua-json.c            \
264                 core/lua-bindings/lua-timer.c           \
265                 core/lua-bindings/lua-event.c           \
266                 core/lua-bindings/lua-deferred.c        \
267                 core/lua-bindings/lua-sighandler.c      \
268                 core/lua-bindings/lua-transport.c       \
269                 core/lua-bindings/lua-env.c
270
271 libmurphy_core_lua_bindings_ladir =                     \
272                 $(includedir)/murphy/core/lua-bindings
273
274 libmurphy_core_lua_bindings_la_HEADERS =                \
275                 core/lua-bindings/murphy.h              \
276                 core/lua-bindings/lua-json.h
277
278 libmurphy_coreh_ladir      =            \
279                 $(includedir)/murphy
280
281 libmurphy_coreh_la_HEADERS =            \
282                 core.h
283
284 libmurphy_core_ladir =                  \
285                 $(includedir)/murphy/core
286
287 libmurphy_core_la_HEADERS =             \
288                 core/context.h          \
289                 core/plugin.h           \
290                 core/console-command.h  \
291                 core/console.h          \
292                 core/scripting.h        \
293                 core/method.h           \
294                 core/auth.h             \
295                 core/domain.h           \
296                 core/domain-types.h
297
298 libmurphy_core_la_REGULAR_SOURCES =     \
299                 core/context.c          \
300                 core/plugin.c           \
301                 core/console.c          \
302                 core/scripting.c        \
303                 core/method.c           \
304                 core/auth.c             \
305                 core/auth-deny.c        \
306                 core/domain.c           \
307                 $(LUA_BINDINGS_SOURCES)
308
309 if SMACK_ENABLED
310 libmurphy_core_la_REGULAR_SOURCES +=    \
311                 core/auth-smack.c
312 endif
313
314 libmurphy_core_la_SOURCES =             \
315                 $(libmurphy_core_la_REGULAR_SOURCES)
316
317 libmurphy_core_la_CFLAGS  =             \
318                 $(AM_CFLAGS)            \
319                 $(LUA_CFLAGS)           \
320                 $(JSON_CFLAGS)          \
321                 $(SMACK_CFLAGS)
322
323 libmurphy_core_la_LDFLAGS =             \
324                 -Wl,-version-script=linker-script.core \
325                 -version-info @MURPHY_VERSION_INFO@
326
327 libmurphy_core_la_LIBADD  =                     \
328                 libmurphy-common.la             \
329                 libmurphy-lua-decision.la       \
330                 libmurphy-lua-utils.la          \
331                 murphy-db/mql/libmql.la         \
332                 murphy-db/mqi/libmqi.la         \
333                 murphy-db/mdb/libmdb.la         \
334                 $(LUA_LIBS)                     \
335                 $(SMACK_LIBS)                   \
336                 -ldl
337
338 libmurphy_core_la_DEPENDENCIES =                \
339                 linker-script.core              \
340                 $(filter %.la, $(libmurphy_core_la_LIBADD))
341
342 # core linker script generation
343 linker-script.core: $(libmurphy_core_la_HEADERS) \
344                     $(libmurphy_core_lua_bindings_la_HEADERS)
345         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
346                 -P "$(CC)" -c "$(libmurphy_core_la_CFLAGS)" -o $@ $^
347
348 clean-linker-script::
349         -rm -f linker-script.core
350
351 ###################################
352 # murphy dbus library
353 #
354 # Right now we have three variants of the murphy D-Bus library. The
355 # original with leaky libdbus abstraction, a revised one that plugs
356 # the most gaping abstraction holes, and one which uses systemd-bus,
357 # the licensing-wise much easier/liberal D-Bus implementation from
358 # systemd.
359 #
360 # All original code uses/used to use the libdbus-based one with leaky
361 # abstraction. This would make it very difficult to move away from
362 # the license-troubled libdbus even if/when a viable alternative (eg.
363 # from the kdbus effort) became available. To get rid of this problem,
364 # we need to get rid of the direct dependency on libdbus. Once that is
365 # done, we can (hopefully) switch easily and transparently between
366 # D-Bus libraries, if needed by touching only one component, the
367 # murphy-dbus library.
368 #
369 # To recap these are the different library variants:
370 #
371 # 1) murphy-libdbus
372 #    This is the original murphy-dbus library. It uses libdbus as the
373 #    underlying D-Bus client library implementation. It does not provide
374 #    a proper abstraction on top of libdbus. Messages, message building,
375 #    and parsing used DBusMessage.
376 #
377 # 2) murphy-dbus-libdbus
378 #    This is a modified version of murphy-libdbus which provides an
379 #    additional abstraction for messages, message building and parsing.
380 #
381 # 3) murphy-dbus-systemdbus
382 #    This library provides an identical API to murphy-dbus-libdbus but
383 #    it uses the systemd dbus library implementation (systemd-bus) as
384 #    the underlying D-Bus client library implementation.
385 #
386 # So all current code still using libdbus for message building/parsing
387 # needs to get rid of it and changed to use murphy-dbus-libdbus.
388 #
389
390 # original libdbus-based library
391 murphy_libdbus_headers =                \
392                 common/libdbus.h
393
394 if LIBDBUS_ENABLED
395 lib_LTLIBRARIES += libmurphy-libdbus.la
396 EXTRA_DIST      += common/murphy-libdbus.pc
397 pkgconfig_DATA  += common/murphy-libdbus.pc
398
399 libmurphy_libdbus_ladir =               \
400                 $(includedir)/murphy/common
401
402 libmurphy_libdbus_la_HEADERS = $(murphy_libdbus_headers)
403
404 libmurphy_libdbus_la_REGULAR_SOURCES =          \
405                 common/libdbus.c                \
406                 common/libdbus-glue.c
407
408 libmurphy_libdbus_la_SOURCES =          \
409                 $(libmurphy_libdbus_la_REGULAR_SOURCES)
410
411 libmurphy_libdbus_la_CFLAGS =           \
412                 $(AM_CFLAGS)            \
413                 $(LIBDBUS_CFLAGS)
414
415 libmurphy_libdbus_la_LDFLAGS =          \
416                 -Wl,-version-script=linker-script.libdbus \
417                 -version-info @MURPHY_VERSION_INFO@
418
419 libmurphy_libdbus_la_LIBADD  =          \
420                 libmurphy-common.la     \
421                 $(LIBDBUS_LIBS)         \
422                 -lrt
423
424 libmurphy_libdbus_la_DEPENDENCIES =     \
425                 linker-script.libdbus   \
426                 $(filter %.la, $(libmurphy_libdbus_la_LIBADD))
427
428 libmurphy_libdbusdir      = $(includedir)/murphy/dbus
429 libmurphy_libdbus_HEADERS = $(libmurphy_libdbus_la_HEADERS)
430 endif
431
432 # linker script generation
433 linker-script.libdbus: $(murphy_libdbus_headers)
434         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
435                 -P "$(CC)" -c "$(libmurphy_libdbus_la_CFLAGS)" -o $@ $^
436
437 clean-linker-script::
438         -rm -f linker-script.libdbus
439
440 # libdbus-based library with full abstraction
441 murphy_dbus_libdbus_headers =           \
442                 common/dbus-libdbus.h   \
443                 common/dbus-error.h
444
445 if LIBDBUS_ENABLED
446 lib_LTLIBRARIES += libmurphy-dbus-libdbus.la
447 EXTRA_DIST      += common/murphy-dbus-libdbus.pc
448 pkgconfig_DATA  += common/murphy-dbus-libdbus.pc
449
450 libmurphy_dbus_libdbus_ladir =          \
451                 $(includedir)/murphy/common
452
453 libmurphy_dbus_libdbus_la_HEADERS = $(murphy_dbus_libdbus_headers)
454
455 libmurphy_dbus_libdbus_la_REGULAR_SOURCES =     \
456                 common/dbus-libdbus.c           \
457                 common/dbus-libdbus-glue.c      \
458                 common/dbus-libdbus-transport.c
459
460 libmurphy_dbus_libdbus_la_SOURCES =             \
461                 $(libmurphy_dbus_libdbus_la_REGULAR_SOURCES)
462
463 libmurphy_dbus_libdbus_la_CFLAGS =      \
464                 $(AM_CFLAGS)            \
465                 $(LIBDBUS_CFLAGS)
466
467 libmurphy_dbus_libdbus_la_LDFLAGS =     \
468                 -Wl,-version-script=linker-script.dbus-libdbus \
469                 -version-info @MURPHY_VERSION_INFO@
470
471 libmurphy_dbus_libdbus_la_LIBADD  =     \
472                 libmurphy-common.la     \
473                 -lrt $(LIBDBUS_LIBS)
474
475 libmurphy_dbus_libdbus_la_DEPENDENCIES =        \
476                 linker-script.dbus-libdbus      \
477                 $(filter %.la, $(libmurphy_dbus_libdbus_la_LIBADD))
478
479 libmurphy_dbus_libdbusdir      = $(includedir)/murphy/dbus
480 libmurphy_dbus_libdbus_HEADERS = $(libmurphy_dbus_libdbus_la_HEADERS)
481 endif
482
483 # linker script generation
484 linker-script.dbus-libdbus: $(murphy_dbus_libdbus_headers)
485         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
486                 -P "$(CC)" -c "$(libmurphy_dbus_libdbus_la_CFLAGS)" -o $@ $^
487
488 clean-linker-script::
489         -rm -f linker-script.dbus-libdbus
490
491 # systemd-bus based library
492 murphy_dbus_sdbus_headers =                     \
493                 common/dbus-sdbus.h             \
494                 common/dbus-error.h
495
496 if SDBUS_ENABLED
497 lib_LTLIBRARIES += libmurphy-dbus-sdbus.la
498 EXTRA_DIST      += common/murphy-dbus-sdbus.pc
499 pkgconfig_DATA  += common/murphy-dbus-sdbus.pc
500
501 libmurphy_dbus_sdbus_ladir      =               \
502                 $(includedir)/murphy/common
503
504 libmurphy_dbus_sdbus_la_HEADERS = $(murphy_dbus_sdbus_headers)
505
506 libmurphy_dbus_sdbus_la_REGULAR_SOURCES =       \
507                 common/dbus-sdbus.c             \
508                 common/dbus-sdbus-glue.c        \
509                 common/dbus-sdbus-transport.c
510
511 libmurphy_dbus_sdbus_la_SOURCES =               \
512                 $(libmurphy_dbus_sdbus_la_REGULAR_SOURCES)
513
514 libmurphy_dbus_sdbus_la_CFLAGS  =       \
515                 $(AM_CFLAGS)            \
516                 $(SDBUS_CFLAGS)
517
518 libmurphy_dbus_sdbus_la_LDFLAGS =               \
519                 -Wl,-version-script=linker-script.dbus-sdbus \
520                 -version-info @MURPHY_VERSION_INFO@
521
522 libmurphy_dbus_sdbus_la_LIBADD  =               \
523                 -lrt $(SDBUS_LIBS)
524
525 libmurphy_dbus_sdbus_la_DEPENDENCIES =          \
526                 linker-script.dbus-sdbus        \
527                 $(filter %.la, $(libmurphy_dbus_sdbus_la_LIBADD))
528
529 libmurphy_dbus_sdbusdir      = $(includedir)/murphy/dbus
530 libmurphy_dbus_sdbus_HEADERS = $(libmurphy_dbus_sdbus_la_HEADERS)
531 endif
532
533 # linker script generation
534 linker-script.dbus-sdbus: $(murphy_dbus_sdbus_headers)
535         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
536                 -P "$(CC)" -c "$(libmurphy_dbus_sdbus_la_CFLAGS)" -o $@ $^
537
538 clean-linker-script::
539         -rm -f linker-script.sd-bus
540
541 ###################################
542 # murphy pulse glue library
543 #
544
545 murphy_pulse_headers =                  \
546                 common/pulse-glue.h     \
547                 common/pulse-subloop.h
548
549 if PULSE_ENABLED
550 lib_LTLIBRARIES += libmurphy-pulse.la
551 EXTRA_DIST      += common/murphy-pulse.pc
552 pkgconfig_DATA  += common/murphy-pulse.pc
553
554 libmurphy_pulse_ladir      =            \
555                 $(includedir)/murphy/common
556
557 libmurphy_pulse_la_HEADERS = $(murphy_pulse_headers)
558
559 libmurphy_pulse_la_SOURCES =            \
560                 common/pulse-glue.c     \
561                 common/pulse-subloop.c
562
563 libmurphy_pulse_la_CFLAGS  =            \
564                 $(AM_CFLAGS)            \
565                 $(PULSE_CFLAGS)
566
567 libmurphy_pulse_la_LDFLAGS =            \
568                 -Wl,-version-script=linker-script.pulse \
569                 -version-info @MURPHY_VERSION_INFO@
570
571 libmurphy_pulse_la_LIBADD  =            \
572                 libmurphy-common.la     \
573                 $(PULSE_LIBS)
574
575 libmurphy_pulse_la_DEPENDENCIES =       \
576                 linker-script.pulse     \
577                 $(filter %.la, $(libmurphy_pulse_la_LIBADD))
578
579 libpulseincludedir      = $(includedir)/murphy/pulse
580 libpulseinclude_HEADERS = $(libmurphy_pulse_la_HEADERS)
581 endif
582
583 # linker script generation
584 linker-script.pulse: $(murphy_pulse_headers)
585         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
586                 -P "$(CC)" -c "$(libmurphy_pulse_la_CFLAGS)" \
587                 -p '^mrp_|^_mrp|^pa_' -o $@ $^
588
589 clean-linker-script::
590         -rm -f linker-script.pulse
591
592 ###################################
593 # murphy ecore glue library
594 #
595
596 murphy_ecore_headers =                  \
597                 common/ecore-glue.h
598
599 if ECORE_ENABLED
600 lib_LTLIBRARIES += libmurphy-ecore.la
601 EXTRA_DIST      += common/murphy-ecore.pc
602 pkgconfig_DATA  += common/murphy-ecore.pc
603
604 libmurphy_ecore_ladir      =            \
605                 $(includedir)/murphy/common
606
607 libmurphy_ecore_la_HEADERS = $(murphy_ecore_headers)
608
609 libmurphy_ecore_la_SOURCES =            \
610                 common/ecore-glue.c
611
612 libmurphy_ecore_la_CFLAGS  =            \
613                 $(AM_CFLAGS)            \
614                 $(ECORE_CFLAGS)
615
616 libmurphy_ecore_la_LDFLAGS =            \
617                 -Wl,-version-script=linker-script.ecore \
618                 -version-info @MURPHY_VERSION_INFO@
619
620 libmurphy_ecore_la_LIBADD  =            \
621                 libmurphy-common.la     \
622                 $(ECORE_LIBS)
623
624 libmurphy_ecore_la_DEPENDENCIES =       \
625                 linker-script.ecore     \
626                 $(filter %.la, $(libmurphy_ecore_la_LIBADD))
627
628 libecoreincludedir      = $(includedir)/murphy/ecore
629 libecoreinclude_HEADERS = $(libmurphy_ecore_la_HEADERS)
630 endif
631
632 # linker script generation
633 linker-script.ecore: $(murphy_ecore_headers)
634         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
635                 -P "$(CC)" -c "$(libmurphy_ecore_la_CFLAGS)" -o $@ $^
636
637 clean-linker-script::
638         -rm -f linker-script.ecore
639
640 ###################################
641 # murphy glib glue library
642 #
643
644 murphy_glib_headers =                   \
645                 common/glib-glue.h
646
647 if GLIB_ENABLED
648 lib_LTLIBRARIES += libmurphy-glib.la
649 EXTRA_DIST      += common/murphy-glib.pc
650 pkgconfig_DATA  += common/murphy-glib.pc
651
652 libmurphy_glib_ladir      =             \
653                 $(includedir)/murphy/common
654
655 libmurphy_glib_la_HEADERS = $(murphy_glib_headers)
656
657 libmurphy_glib_la_SOURCES =             \
658                 common/glib-glue.c
659
660 libmurphy_glib_la_CFLAGS  =             \
661                 $(AM_CFLAGS)            \
662                 $(GLIB_CFLAGS)
663
664 libmurphy_glib_la_LDFLAGS =             \
665                 -Wl,-version-script=linker-script.glib \
666                 -version-info @MURPHY_VERSION_INFO@
667
668 libmurphy_glib_la_LIBADD  =             \
669                 libmurphy-common.la     \
670                 $(GLIB_LIBS)
671
672 libmurphy_glib_la_DEPENDENCIES =        \
673                 linker-script.glib      \
674                 $(filter %.la, $(libmurphy_glib_la_LIBADD))
675
676 libglibincludedir      = $(includedir)/murphy/glib
677 libglibinclude_HEADERS = $(libmurphy_glib_la_HEADERS)
678 endif
679
680 # linker script generation
681 linker-script.glib: $(murphy_glib_headers)
682         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
683                 -P "$(CC)" -c "$(libmurphy_glib_la_CFLAGS)" -o $@ $^
684
685 clean-linker-script::
686         -rm -f linker-script.glib
687
688 ###################################
689 # murphy qt glue library
690 #
691
692 murphy_qt_headers       =               \
693                 common/qt-glue.h
694
695 if QT_ENABLED
696 lib_LTLIBRARIES += libmurphy-qt.la
697 EXTRA_DIST      += common/murphy-qt.pc
698 pkgconfig_DATA  += common/murphy-qt.pc
699
700 BUILT_SOURCES   += common/qt-glue-priv.moc.h
701
702 libmurphy_qt_ladir      =               \
703                 $(includedir)/murphy/common
704
705 libmurphy_qt_la_HEADERS = $(murphy_qt_headers)
706
707 libmurphy_qt_la_SOURCES =               \
708                 common/qt-glue.cpp
709
710 libmurphy_qt_la_CPPFLAGS  =             \
711                 $(AM_CFLAGS)            \
712                 $(QTCORE_CFLAGS)
713
714 libmurphy_qt_la_LDFLAGS =               \
715                 -Wl,-version-script=linker-script.qt \
716                 -version-info @MURPHY_VERSION_INFO@
717
718 libmurphy_qt_la_LIBADD  = $(QTCORE_LIBS)
719
720 libmurphy_qt_la_DEPENDENCIES =          \
721                 linker-script.qt        \
722                 $(filter %.la, $(libmurphy_qt_la_LIBADD))
723
724 libqtincludedir      = $(includedir)/murphy/qt
725 libqtinclude_HEADERS = $(libmurphy_qt_la_HEADERS)
726
727 # run moc to generate Qt meta objects
728 common/qt-glue-priv.moc.h: common/qt-glue-priv.h
729         $(QUIET_GEN)$(QT_MOC) -DQT_ENABLED=1 $< -o$@
730 endif
731
732 # linker script generation
733 linker-script.qt: $(murphy_qt_headers)
734         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
735                 -P "$(CC)" -c "$(libmurphy_qt_la_CPPFLAGS) -DQT_ENABLED=1" \
736                 -o $@ $^
737
738 clean-linker-script::
739         -rm -f linker-script.qt
740
741 ###################################
742 # murphy resolver library
743 #
744
745 lib_LTLIBRARIES += libmurphy-resolver.la
746 EXTRA_DIST      += resolver/murphy-resolver.pc
747 pkgconfig_DATA  += resolver/murphy-resolver.pc
748
749 BUILT_SOURCES   += resolver/scanner.c resolver/parser.c
750
751 libmurphy_resolver_ladir =                      \
752                 $(includedir)/murphy/resolver
753
754 libmurphy_resolver_la_HEADERS =                 \
755                 resolver/resolver.h
756
757 SIMPLE_SCRIPT_SOURCES =                                         \
758                 resolver/scripting/simple/simple-script.c       \
759                 resolver/scripting/simple/simple-scanner.c      \
760                 resolver/scripting/simple/simple-parser.c       \
761                 resolver/scripting/simple/call.c                \
762                 resolver/scripting/simple/builtins.c
763
764 libmurphy_resolver_la_REGULAR_SOURCES =                         \
765                 resolver/resolver.c                             \
766                 resolver/parser.c                               \
767                 resolver/scanner.c                              \
768                 resolver/target.c                               \
769                 resolver/target-sorter.c                        \
770                 resolver/fact.c                                 \
771                 resolver/events.c                               \
772                 resolver/console.c                              \
773                 $(SIMPLE_SCRIPT_SOURCES)
774
775 libmurphy_resolver_la_SOURCES =                 \
776                 $(libmurphy_resolver_la_REGULAR_SOURCES)
777
778 libmurphy_resolver_la_CFLAGS =                  \
779                 $(AM_CFLAGS)                    \
780                 $(JSON_CFLAGS)
781
782 libmurphy_resolver_la_LDFLAGS =                 \
783                 -Wl,-version-script=linker-script.resolver \
784                 -version-info @MURPHY_VERSION_INFO@
785
786 libmurphy_resolver_la_LIBADD =          \
787                 libmurphy-core.la       \
788                 libmurphy-common.la     \
789                 murphy-db/mql/libmql.la \
790                 murphy-db/mqi/libmqi.la \
791                 murphy-db/mdb/libmdb.la
792
793 libmurphy_resolver_la_DEPENDENCIES =    \
794                 linker-script.resolver  \
795                 $(filter %.la, $(libmurphy_resolver_la_LIBADD))
796
797 # resolver lexical analyser and parser generation
798 RESOLVER_PARSER_PREFIX = yy_res_
799
800 resolver/scanner.c: resolver/scanner.l resolver/parser.c
801         $(LEXCOMPILE) -P $(RESOLVER_PARSER_PREFIX) $<
802         mv lex.$(RESOLVER_PARSER_PREFIX).c $@
803
804 resolver/parser.h resolver/parser.c: resolver/parser.y
805         $(YACCCOMPILE) -p $(RESOLVER_PARSER_PREFIX) $< -o resolver/parser.c
806
807 # resolver linker script generation
808 linker-script.resolver: $(libmurphy_resolver_la_HEADERS)
809         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
810                 -P "$(CC)" -c "$(libmurphy_resolver_la_CFLAGS)" -o $@ $^
811
812 clean-linker-script::
813         -rm -f linker-script.resolver
814
815 # simple interpreter lexical analyser and parser generation
816 SIMPLE_PARSER_PREFIX  = yy_smpl_
817 BUILT_SOURCES        += resolver/scripting/simple/simple-scanner.c \
818                         resolver/scripting/simple/simple-parser.c
819
820 resolver/scripting/simple/simple-scanner.c:             \
821     resolver/scripting/simple/simple-scanner.l          \
822     resolver/scripting/simple/simple-parser.c
823         $(LEXCOMPILE) -P $(SIMPLE_PARSER_PREFIX) $<
824         mv lex.$(SIMPLE_PARSER_PREFIX).c $@
825
826 # simple interpreter parser generation
827 resolver/scripting/simple/simple-parser.h       \
828 resolver/scripting/simple/simple-parser.c:      \
829     resolver/scripting/simple/simple-parser.y
830         $(YACCCOMPILE) -p $(SIMPLE_PARSER_PREFIX) $< -o \
831             resolver/scripting/simple/simple-parser.c
832
833 ###################################
834 # murphy backend resource library
835 #
836
837 if BUILD_RESOURCES
838 RESOURCE_LIBRARY = libmurphy-resource-backend.la
839 else
840 RESOURCE_LIBRARY =
841 endif
842
843 if BUILD_RESOURCES
844 lib_LTLIBRARIES += $(RESOURCE_LIBRARY)
845
846 libmurphy_resource_backend_ladir =                     \
847                 $(includedir)/murphy/resource
848
849 libmurphy_resource_backend_la_HEADERS =                        \
850                 resource/data-types.h           \
851                 resource/common-api.h           \
852                 resource/client-api.h           \
853                 resource/manager-api.h          \
854                 resource/config-api.h           \
855                 resource/protocol.h
856
857 libmurphy_resource_backend_la_REGULAR_SOURCES =                \
858                 resource/attribute.c            \
859                 resource/resource.c             \
860                 resource/resource-set.c         \
861                 resource/application-class.c    \
862                 resource/resource-owner.c       \
863                 resource/resource-client.c      \
864                 resource/zone.c                 \
865                 resource/config-lua.c           \
866                 resource/resource-lua.c         \
867                 resource/lua-resource.c
868
869 libmurphy_resource_backend_la_SOURCES =                        \
870                 $(libmurphy_resource_backend_la_REGULAR_SOURCES)
871
872 libmurphy_resource_backend_la_CFLAGS =          \
873                 $(AM_CFLAGS)                    \
874                 $(LUA_CFLAGS)
875
876 libmurphy_resource_backend_la_LDFLAGS =                        \
877                 -Wl,-version-script=linker-script.resource_backend \
878                 -version-info @MURPHY_VERSION_INFO@
879
880 libmurphy_resource_backend_la_LIBADD =     \
881                 libmurphy-core.la          \
882                 libmurphy-common.la        \
883                 libmurphy-lua-utils.la     \
884                 murphy-db/mql/libmql.la    \
885                 murphy-db/mqi/libmqi.la    \
886                 murphy-db/mdb/libmdb.la    \
887                 $(LUA_LIBS)
888
889 libmurphy_resource_backend_la_DEPENDENCIES =    \
890                 linker-script.resource_backend  \
891                 $(filter %.la, $(libmurphy_resource_backend_la_LIBADD))
892 endif
893
894 # resource linker script generation
895 linker-script.resource_backend: $(libmurphy_resource_backend_la_HEADERS)
896         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
897                 -P "$(CC)" -c "$(libmurphy_resource_backend_la_CFLAGS)" -o $@ $^
898
899 clean-linker-script::
900         -rm -f linker-script.resource_backend
901
902 ##########################
903 # readline replacement
904 #
905 lib_LTLIBRARIES += libbreedline.la
906 EXTRA_DIST      += breedline/breedline.pc
907 pkgconfig_DATA  += breedline/breedline.pc
908
909 libbreedline_ladir      =               \
910                 $(includedir)/breedline
911
912 libbreedline_la_HEADERS =               \
913                 breedline/breedline.h   \
914                 breedline/macros.h
915
916 libbreedline_la_SOURCES =               \
917                 breedline/breedline.c
918
919 libbreedline_la_CFLAGS  =               \
920                 $(AM_CFLAGS)
921
922 libbreedline_la_LDFLAGS =                                       \
923                 -Wl,-version-script=linker-script.breedline     \
924                 -version-info @MURPHY_VERSION_INFO@
925
926 libbreedline_la_LIBADD =
927
928 libbreedline_la_DEPENDENCIES =                  \
929                 linker-script.breedline         \
930                 $(filter %.la, $(libbreedline_la_LIBADD))
931
932 libbreedlineincludedir      = $(includedir)/breedline
933 libbreedlineinclude_HEADERS = $(libbreedline_la_HEADERS)
934
935 # linker script generation
936 linker-script.breedline: $(libbreedline_la_HEADERS)
937         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
938                 -P "$(CC)" -c "$(libbreedline_la_CFLAGS)" -p '^brl_' -o $@ $^
939
940 clean-linker-script::
941         -rm -f linker-script.breedline
942
943 ##########################
944 # breedline murphy glue library
945 #
946 lib_LTLIBRARIES += libbreedline-murphy.la
947 EXTRA_DIST      += breedline/breedline-murphy.pc
948 pkgconfig_DATA  += breedline/breedline-murphy.pc
949
950 libbreedline_murphy_ladir      = $(includedir)/breedline
951
952 libbreedline_murphy_la_HEADERS = breedline/breedline-murphy.h
953 libbreedline_murphy_la_SOURCES = breedline/breedline-murphy.c
954 libbreedline_murphy_la_CFLAGS  = $(AM_CFLAGS)
955
956 libbreedline_murphy_la_LDFLAGS =        \
957                 -Wl,-version-script=linker-script.breedline-murphy      \
958                 -version-info @MURPHY_VERSION_INFO@
959
960 libbreedline_murphy_la_LIBADD =         \
961                 libmurphy-common.la     \
962                 libbreedline.la
963
964 libbreedline_murphy_la_DEPENDENCIES =           \
965                 linker-script.breedline-murphy  \
966                 $(filter %.la,$(libbreedline_murphy_la_LIBADD))
967
968 libbreedline_murphyincludedir      = $(includedir)/breedline
969 libbreedline_murphyinclude_HEADERS = $(libbreedline_murphy_la_HEADERS)
970
971 # linker script generation
972 linker-script.breedline-murphy: $(libbreedline_murphy_la_HEADERS)
973         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
974             -P "$(CC)" -c "$(libbreedline_murphy_la_CFLAGS)" -p '^brl_' -o $@ $^
975
976 clean-linker-script::
977         -rm -f linker-script.breedline-murphy
978
979 ##########################
980 # breedline glib glue library
981 #
982
983 breedline_glib_headers =        \
984                 breedline/breedline-glib.h
985
986 if GLIB_ENABLED
987 lib_LTLIBRARIES += libbreedline-glib.la
988 EXTRA_DIST      += breedline/breedline-glib.pc
989 pkgconfig_DATA  += breedline/breedline-glib.pc
990
991 libbreedline_glib_ladir      = $(includedir)/breedline
992
993 libbreedline_glib_la_HEADERS = $(breedline_glib_headers)
994 libbreedline_glib_la_SOURCES = breedline/breedline-glib.c
995 libbreedline_glib_la_CFLAGS  = $(AM_CFLAGS) $(GLIB_CFLAGS)
996
997 libbreedline_glib_la_LDFLAGS = \
998                 -Wl,-version-script=linker-script.breedline-glib        \
999                 -version-info @MURPHY_VERSION_INFO@
1000
1001 libbreedline_glib_la_LIBADD =           \
1002                 libbreedline.la         \
1003                 $(GLIB_LIBS)
1004
1005 libbreedline_glib_la_DEPENDENCIES =             \
1006                 linker-script.breedline-glib    \
1007                 $(filter %.la, $(libbreedline_glib_la_LIBADD))
1008
1009 libbreedline_glibincludedir      = $(includedir)/breedline
1010 libbreedline_glibinclude_HEADERS = $(libbreedline_glib_la_HEADERS)
1011 endif
1012
1013 # linker script generation
1014 linker-script.breedline-glib: $(breedline_glib_headers)
1015         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
1016                 -P "$(CC)" -c "$(libbreedline_glib_la_CFLAGS)" -p '^brl_' \
1017                 -o $@ $^
1018
1019 clean-linker-script::
1020         -rm -f linker-script.breedline-glib
1021
1022 ###################################
1023 # murphy resource external library
1024
1025 # TODO: put this under conditional compilation
1026
1027 lib_LTLIBRARIES += libmurphy-resource.la
1028 EXTRA_DIST      += plugins/resource-native/libmurphy-resource/murphy-resource.pc
1029 pkgconfig_DATA  += plugins/resource-native/libmurphy-resource/murphy-resource.pc
1030
1031 libmurphy_resource_ladir =          \
1032         $(includedir)/murphy/plugins/resource-native/libmurphy-resource
1033
1034 libmurphy_resource_la_HEADERS =         \
1035         plugins/resource-native/libmurphy-resource/resource-api.h     \
1036         plugins/resource-native/libmurphy-resource/resource-private.h
1037
1038 libmurphy_resource_la_SOURCES =         \
1039         plugins/resource-native/libmurphy-resource/resource.c \
1040         plugins/resource-native/libmurphy-resource/attribute.c \
1041         plugins/resource-native/libmurphy-resource/rset.c \
1042         plugins/resource-native/libmurphy-resource/string_array.c \
1043         plugins/resource-native/libmurphy-resource/message.c \
1044         plugins/resource-native/libmurphy-resource/resource-log.c
1045
1046 libmurphy_resource_la_CFLAGS =          \
1047         $(AM_CFLAGS)
1048
1049 libmurphy_resource_la_LDFLAGS = \
1050                 -Wl,-version-script=linker-script.resource      \
1051                 -version-info @MURPHY_VERSION_INFO@
1052
1053 libmurphy_resource_la_LIBADD =      \
1054                 libmurphy-common.la
1055
1056 libmurphy_resource_la_DEPENDENCIES =    \
1057                 libmurphy-common.la     \
1058                 linker-script.resource  \
1059                 $(filter %.la, $(libmurphy_resource_la_LIBADD))
1060
1061 # linker script generation
1062 linker-script.resource: $(libmurphy_resource_la_HEADERS)
1063         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
1064                 -P "$(CC)" -c "$(libmurphy_resource_la_CFLAGS)" -o $@ $^
1065
1066 clean-linker-script::
1067         -rm -f linker-script.resource
1068
1069 # resource-api-test
1070 bin_PROGRAMS += resource-api-test
1071
1072 resource_api_test_SOURCES = plugins/resource-native/libmurphy-resource/api_test.c
1073 resource_api_test_CFLAGS  = $(AM_CFLAGS)
1074 resource_api_test_LDADD   = libmurphy-common.la libmurphy-resource.la
1075
1076 # resource-api-fuzz
1077 bin_PROGRAMS += resource-api-fuzz
1078
1079 resource_api_fuzz_SOURCES = plugins/resource-native/libmurphy-resource/resource-fuzz.c
1080 resource_api_fuzz_CFLAGS  = $(AM_CFLAGS)
1081 resource_api_fuzz_LDADD   = libmurphy-common.la libmurphy-resource.la
1082
1083 # context-create
1084 bin_PROGRAMS += resource-context-create
1085
1086 resource_context_create_SOURCES = plugins/resource-native/libmurphy-resource/context-create.c
1087 resource_context_create_CFLAGS  = $(AM_CFLAGS)
1088 resource_context_create_LDADD   = libmurphy-common.la libmurphy-resource.la
1089
1090 ###################################
1091 # murphy plugins
1092 #
1093
1094 BUILTIN_PLUGINS    =
1095 BUILTIN_CFLAGS     = -D__MURPHY_BUILTIN_PLUGIN__ $(AM_CFLAGS)
1096 BUILTIN_LIBS       =
1097
1098 LINKEDIN_PLUGINS   =
1099
1100 plugin_LTLIBRARIES =
1101 plugindir          = $(libdir)/murphy/plugins
1102
1103
1104 # test plugin
1105 TEST_PLUGIN_SOURCES = plugins/plugin-test.c
1106 TEST_PLUGIN_CFLAGS  =
1107 TEST_PLUGIN_LIBS    =
1108
1109 if !DISABLED_PLUGIN_TEST
1110 if BUILTIN_PLUGIN_TEST
1111 BUILTIN_PLUGINS += $(TEST_PLUGIN_SOURCES)
1112 BUILTIN_CFLAGS  += $(TEST_PLUGIN_CFLAGS)
1113 BUILTIN_LIBS    += $(TEST_PLUGIN_LIBS)
1114 else
1115 plugin_test_la_SOURCES = $(TEST_PLUGIN_SOURCES)
1116 plugin_test_la_CFLAGS  = $(TEST_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1117 plugin_test_la_LDFLAGS = -module -avoid-version
1118 plugin_test_la_LIBADD  = $(TEST_PLUGIN_LIBS)
1119
1120 plugin_LTLIBRARIES    += plugin-test.la
1121 endif
1122 endif
1123
1124 # dbus plugin
1125 if LIBDBUS_ENABLED
1126 DBUS_PLUGIN_SOURCES = plugins/plugin-dbus.c
1127 DBUS_PLUGIN_CFLAGS  = $(LIBDBUS_CFLAGS)
1128 DBUS_PLUGIN_LIBS    = libmurphy-dbus-libdbus.la $(LIBDBUS_LIBS)
1129
1130 if !DISABLED_PLUGIN_DBUS
1131 if BUILTIN_PLUGIN_DBUS
1132 BUILTIN_PLUGINS += $(DBUS_PLUGIN_SOURCES)
1133 BUILTIN_CFLAGS  += $(DBUS_PLUGIN_CFLAGS)
1134 BUILTIN_LIBS    += $(DBUS_PLUGIN_LIBS)
1135 else
1136 plugin_dbus_la_SOURCES = $(DBUS_PLUGIN_SOURCES)
1137 plugin_dbus_la_CFLAGS  = $(DBUS_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1138 plugin_dbus_la_LDFLAGS = -module -avoid-version
1139 plugin_dbus_la_LIBADD  = $(DBUS_PLUGIN_LIBS)
1140
1141 plugin_LTLIBRARIES    += plugin-dbus.la
1142 endif
1143 endif
1144 endif
1145
1146 # automotive message broker plugin
1147 if LIBDBUS_ENABLED
1148 AMB_PLUGIN_SOURCES = plugins/plugin-amb.c
1149 AMB_PLUGIN_CFLAGS  = $(LIBDBUS_CFLAGS)
1150 AMB_PLUGIN_LIBS    = libmurphy-dbus-libdbus.la
1151
1152 if !DISABLED_PLUGIN_AMB
1153 if BUILTIN_PLUGIN_AMB
1154 BUILTIN_PLUGINS += $(AMB_PLUGIN_SOURCES)
1155 BUILTIN_CFLAGS  += $(AMB_PLUGIN_CFLAGS)
1156 BUILTIN_LIBS    += $(AMB_PLUGIN_LIBS)
1157 else
1158 plugin_amb_la_SOURCES = $(AMB_PLUGIN_SOURCES)
1159 plugin_amb_la_CFLAGS  = $(AMB_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1160 plugin_amb_la_LDFLAGS = -module -avoid-version
1161 plugin_amb_la_LIBADD  = $(AMB_PLUGIN_LIBS)
1162
1163 plugin_LTLIBRARIES    += plugin-amb.la
1164 endif
1165 endif
1166 endif
1167
1168 if GLIB_ENABLED
1169 # glib plugin
1170 GLIB_PLUGIN_SOURCES = plugins/plugin-glib.c
1171 GLIB_PLUGIN_CFLAGS  = $(GLIB_CFLAGS)
1172 GLIB_PLUGIN_LIBS    = $(GLIB_LIBS)
1173
1174 if !DISABLED_PLUGIN_GLIB
1175 if BUILTIN_PLUGIN_GLIB
1176 BUILTIN_PLUGINS += $(GLIB_PLUGIN_SOURCES)
1177 BUILTIN_CFLAGS  += $(GLIB_PLUGIN_CFLAGS)
1178 BUILTIN_LIBS    += $(GLIB_PLUGIN_LIBS)
1179 else
1180 plugin_glib_la_SOURCES = $(GLIB_PLUGIN_SOURCES)
1181 plugin_glib_la_CFLAGS  = $(GLIB_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1182 plugin_glib_la_LDFLAGS = -module -avoid-version
1183 plugin_glib_la_LIBADD  = $(GLIB_PLUGIN_LIBS)
1184
1185 plugin_LTLIBRARIES    += plugin-glib.la
1186 endif
1187 endif
1188 endif
1189
1190 # resource-dbus plugin
1191 if BUILD_RESOURCES
1192 if LIBDBUS_ENABLED
1193 RESOURCE_DBUS_PLUGIN_SOURCES = plugins/plugin-resource-dbus.c
1194 RESOURCE_DBUS_PLUGIN_CFLAGS  = $(LIBDBUS_CFLAGS)
1195 RESOURCE_DBUS_PLUGIN_LIBS    =                                  \
1196                                 libmurphy-dbus-libdbus.la       \
1197                                 libmurphy-core.la               \
1198                                 libmurphy-common.la             \
1199                                 $(RESOURCE_LIBRARY)
1200
1201 if !DISABLED_PLUGIN_RESOURCE_DBUS
1202 if BUILTIN_PLUGIN_RESOURCE_DBUS
1203 BUILTIN_PLUGINS += $(RESOURCE_DBUS_PLUGIN_SOURCES)
1204 BUILTIN_CFLAGS  += $(RESOURCE_DBUS_PLUGIN_CFLAGS)
1205 BUILTIN_LIBS    += $(RESOURCE_DBUS_PLUGIN_LIBS)
1206 else
1207 plugin_resource_dbus_la_SOURCES = $(RESOURCE_DBUS_PLUGIN_SOURCES)
1208 plugin_resource_dbus_la_CFLAGS  = $(RESOURCE_DBUS_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1209 plugin_resource_dbus_la_LDFLAGS = -module -avoid-version
1210 plugin_resource_dbus_la_LIBADD  = $(RESOURCE_DBUS_PLUGIN_LIBS)
1211 plugin_LTLIBRARIES    += plugin-resource-dbus.la
1212 endif
1213 endif
1214 endif
1215 endif
1216
1217 # resource-wrt plugin
1218 if BUILD_RESOURCES
1219 if WEBSOCKETS_ENABLED
1220 RESOURCE_WRT_PLUGIN_SOURCES = plugins/resource-wrt/plugin-resource-wrt.c
1221 RESOURCE_WRT_PLUGIN_CFLAGS  = $(WEBSOCKETS_CFLAGS)
1222 RESOURCE_WRT_PLUGIN_LIBS    =
1223
1224 if !DISABLED_PLUGIN_RESOURCE_WRT
1225 if BUILTIN_PLUGIN_RESOURCE_WRT
1226 BUILTIN_PLUGINS += $(RESOURCE_WRT_PLUGIN_SOURCES)
1227 BUILTIN_CFLAGS  += $(RESOURCE_WRT_PLUGIN_CFLAGS)
1228 BUILTIN_LIBS    += $(RESOURCE_WRT_PLUGIN_LIBS)
1229 else
1230 plugin_resource_wrt_la_SOURCES = $(RESOURCE_WRT_PLUGIN_SOURCES)
1231 plugin_resource_wrt_la_CFLAGS  = $(RESOURCE_WRT_PLUGIN_CFLAGS) \
1232                                  $(MURPHY_CFLAGS) $(AM_CFLAGS)
1233 plugin_resource_wrt_la_LDFLAGS = -module -avoid-version
1234 plugin_resource_wrt_la_LIBADD  = $(RESOURCE_WRT_PLUGIN_LIBS)
1235 plugin_LTLIBRARIES    += plugin-resource-wrt.la
1236
1237 EXTRA_DIST       += $(resource_wrt_DATA);
1238 resource_wrtdir   = $(datadir)/murphy/resource-wrt
1239 resource_wrt_DATA =                                     \
1240                 plugins/resource-wrt/resource-api.js    \
1241                 plugins/resource-wrt/resource-test.html
1242
1243 endif
1244 endif
1245 endif
1246 endif
1247
1248 # console plugin
1249 CONSOLE_PLUGIN_REGULAR_SOURCES = plugins/console/plugin-console.c
1250 CONSOLE_PLUGIN_SOURCES         = $(CONSOLE_PLUGIN_REGULAR_SOURCES)
1251 CONSOLE_PLUGIN_CFLAGS          =
1252 CONSOLE_PLUGIN_LIBS            =
1253
1254 if CONSOLE_ENABLED
1255 if !DISABLED_PLUGIN_CONSOLE
1256 if BUILTIN_PLUGIN_CONSOLE
1257 BUILTIN_PLUGINS += $(CONSOLE_PLUGIN_SOURCES)
1258 BUILTIN_CFLAGS  += $(CONSOLE_PLUGIN_CFLAGS)
1259 BUILTIN_LIBS    += $(CONSOLE_PLUGIN_LIBS)
1260 else
1261 plugin_console_la_SOURCES = $(CONSOLE_PLUGIN_SOURCES)
1262 plugin_console_la_CFLAGS  = $(CONSOLE_PLUGIN_CFLAGS) \
1263                             $(MURPHY_CFLAGS) $(AM_CFLAGS)
1264 plugin_console_la_LDFLAGS = -module -avoid-version
1265 plugin_console_la_LIBADD  = $(CONSOLE_PLUGIN_LIBS)
1266
1267 plugin_LTLIBRARIES    += plugin-console.la
1268 endif
1269 endif
1270 endif
1271
1272 # dlog plugin
1273 DLOG_PLUGIN_REGULAR_SOURCES = plugins/plugin-dlog.c
1274 DLOG_PLUGIN_SOURCES         = $(DLOG_PLUGIN_REGULAR_SOURCES)
1275 DLOG_PLUGIN_CFLAGS          = $(DLOG_CFLAGS)
1276 DLOG_PLUGIN_LIBS            = $(DLOG_LIBS)
1277
1278 if DLOG_ENABLED
1279 if !DISABLED_PLUGIN_DLOG
1280 if BUILTIN_PLUGIN_DLOG
1281 BUILTIN_PLUGINS += $(DLOG_PLUGIN_SOURCES)
1282 BUILTIN_CFLAGS  += $(DLOG_PLUGIN_CFLAGS)
1283 BUILTIN_LIBS    += $(DLOG_PLUGIN_LIBS)
1284 else
1285 plugin_dlog_la_SOURCES = $(DLOG_PLUGIN_SOURCES)
1286 plugin_dlog_la_CFLAGS  = $(DLOG_PLUGIN_CFLAGS) \
1287                             $(MURPHY_CFLAGS) $(AM_CFLAGS)
1288 plugin_dlog_la_LDFLAGS = -module -avoid-version
1289 plugin_dlog_la_LIBADD  = $(DLOG_PLUGIN_LIBS)
1290
1291 plugin_LTLIBRARIES    += plugin-dlog.la
1292 endif
1293 endif
1294 endif
1295
1296 # native resource plugin
1297 if BUILD_RESOURCES
1298 PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES =                                \
1299                 plugins/resource-native/plugin-resource-native.c
1300 PLUGIN_RESOURCE_NATIVE_SOURCES =                                        \
1301                 $(PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES)
1302 PLUGIN_RESOURCE_NATIVE_CFLAGS =                                         \
1303                 $(LUA_CFLAGS)
1304
1305 PLUGIN_RESOURCE_NATIVE_LIBS =                                           \
1306                 libmurphy-common.la                                     \
1307                 $(RESOURCE_LIBRARY)                                     \
1308                 $(LUA_LIBS)
1309
1310 plugin_resource_native_la_SOURCES = $(PLUGIN_RESOURCE_NATIVE_SOURCES)
1311 plugin_resource_native_la_CFLAGS  = $(PLUGIN_RESOURCE_NATIVE_CFLAGS)    \
1312                                     $(MURPHY_CFLAGS) $(AM_CFLAGS)       \
1313                                     $(JSON_CFLAGS)
1314 plugin_resource_native_la_LDFLAGS = -module -avoid-version
1315 plugin_resource_native_la_LIBADD  = $(PLUGIN_RESOURCE_NATIVE_LIBS)
1316
1317 plugin_LTLIBRARIES += plugin-resource-native.la
1318
1319 # resource-client
1320 bin_PROGRAMS += resource-client
1321
1322 resource_client_SOURCES = plugins/resource-native/resource-client.c
1323 resource_client_CFLAGS  = $(AM_CFLAGS)
1324 resource_client_LDADD   =  libmurphy-common.la
1325 endif
1326
1327 # IVI resource manager plugin
1328 if BUILD_RESOURCES
1329 PLUGIN_IVI_RESOURCE_MANAGER_REGULAR_SOURCES =                               \
1330                 plugins/ivi-resource-manager/plugin-ivi-resource-manager.c  \
1331                 plugins/ivi-resource-manager/class.c                        \
1332                 plugins/ivi-resource-manager/screen.c                       \
1333                 plugins/ivi-resource-manager/audio.c                        \
1334                 plugins/ivi-resource-manager/appid.c
1335 PLUGIN_IVI_RESOURCE_MANAGER_SOURCES =                                       \
1336                 $(PLUGIN_IVI_RESOURCE_MANAGER_REGULAR_SOURCES)
1337 PLUGIN_IVI_RESOURCE_MANAGER_CFLAGS =                                        \
1338                 $(LUA_CFLAGS)                                                                           \
1339                 $(TZCONFIG_CFLAGS)
1340
1341 PLUGIN_IVI_RESOURCE_MANAGER_LIBS =                                          \
1342                 libmurphy-common.la                                                                     \
1343                 $(RESOURCE_LIBRARY)                                         \
1344                 $(LUA_LIBS)                                                                             \
1345                 $(TZCONFIG_LIBS)
1346
1347 plugin_ivi_resource_manager_la_SOURCES = $(PLUGIN_IVI_RESOURCE_MANAGER_SOURCES)
1348 plugin_ivi_resource_manager_la_CFLAGS  = $(PLUGIN_IVI_RESOURCE_MANAGER_CFLAGS)\
1349                                          $(MURPHY_CFLAGS) $(AM_CFLAGS)        \
1350                                          $(JSON_CFLAGS)
1351 plugin_ivi_resource_manager_la_LDFLAGS = -module -avoid-version
1352 plugin_ivi_resource_manager_la_LIBADD  = $(PLUGIN_IVI_RESOURCE_MANAGER_LIBS)
1353
1354 plugin_LTLIBRARIES += plugin-ivi-resource-manager.la
1355 endif
1356
1357 #
1358 # GAM support:
1359 # - decision-tree library
1360 # - gam-resource-manager plugin
1361 # - pattern generator and decision-test
1362 #
1363
1364 # decision-tree library
1365 if BUILD_RESOURCES
1366 DECISION_TREE_LIBRARY = libmurphy-decision-tree.la
1367
1368 lib_LTLIBRARIES += $(DECISION_TREE_LIBRARY)
1369
1370 libmurphy_decision_tree_ladir =                                             \
1371                 $(includedir)/murphy/decision-tree
1372
1373 libmurphy_decision_tree_la_HEADERS =                                        \
1374                 plugins/gam-resource-manager/decision-tree.h                \
1375                 plugins/gam-resource-manager/c5-decision-tree.h
1376 libmurphy_decision_tree_la_SOURCES =                                        \
1377                 plugins/gam-resource-manager/decision-tree.c                \
1378                 plugins/gam-resource-manager/c5-decision-tree.c
1379 libmurphy_decision_tree_la_CFLAGS =                                         \
1380                 $(AM_CFLAGS)
1381 libmurphy_decision_tree_la_LIBADD =                                         \
1382                 libmurphy-common.la
1383
1384 libmurphy_decision_tree_la_DEPENDENCIES = linker-script.decision_tree       \
1385         $(filter %.la, $(libmurphy_decision_tree_la_LIBADD))
1386
1387 # decision-tree linker script generation
1388 linker-script.decision_tree: $(libmurphy_decision_tree_la_HEADERS)
1389         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
1390                 -c "$(libmurphy_decision_tree_la_CFLAGS)" -o $@ $^
1391
1392 clean-linker-script::
1393         -rm -f linker-script.decision_tree
1394
1395 generate-linker-scripts: linker-script.decision_tree
1396
1397
1398 # gam-resource-manager plugin
1399 PLUGIN_GAM_RESOURCE_MANAGER_REGULAR_SOURCES =                               \
1400                 plugins/gam-resource-manager/plugin-gam-resource-manager.c  \
1401                 plugins/gam-resource-manager/backend.c                      \
1402                 plugins/gam-resource-manager/source.c                       \
1403                 plugins/gam-resource-manager/sink.c                         \
1404                 plugins/gam-resource-manager/usecase.c
1405 PLUGIN_GAM_RESOURCE_MANAGER_SOURCES =                                       \
1406                 $(PLUGIN_GAM_RESOURCE_MANAGER_REGULAR_SOURCES)
1407 PLUGIN_GAM_RESOURCE_MANAGER_CFLAGS =                                        \
1408                 $(LUA_CFLAGS)
1409
1410 PLUGIN_GAM_RESOURCE_MANAGER_LIBS =                                          \
1411                 libmurphy-common.la                                         \
1412                 libmurphy-decision-tree.la                                  \
1413                 $(RESOURCE_LIBRARY)                                         \
1414                 $(LUA_LIBS)
1415
1416 plugin_gam_resource_manager_la_SOURCES = $(PLUGIN_GAM_RESOURCE_MANAGER_SOURCES)
1417 plugin_gam_resource_manager_la_CFLAGS  = $(PLUGIN_GAM_RESOURCE_MANAGER_CFLAGS)\
1418                                          $(MURPHY_CFLAGS) $(AM_CFLAGS)        \
1419                                          $(JSON_CFLAGS)
1420 plugin_gam_resource_manager_la_LDFLAGS = -module -avoid-version
1421 plugin_gam_resource_manager_la_LIBADD  = $(PLUGIN_GAM_RESOURCE_MANAGER_LIBS)
1422
1423 plugin_LTLIBRARIES += plugin-gam-resource-manager.la
1424
1425
1426 # pattern-generator
1427 bin_PROGRAMS += pattern-generator
1428
1429 pattern_generator_SOURCES =                              \
1430         plugins/gam-resource-manager/pattern-generator.c \
1431         plugins/gam-resource-manager/decision-maker.c
1432 pattern_generator_CFLAGS  = $(AM_CFLAGS)
1433 pattern_generator_LDADD   = libmurphy-common.la
1434
1435 # decision-test
1436 bin_PROGRAMS += decision-test
1437
1438 decision_test_SOURCES = plugins/gam-resource-manager/decision-test.c
1439 decision_test_CFLAGS  = $(AM_CFLAGS)
1440 decision_test_LDADD   =                                  \
1441                 libbreedline-murphy.la libbreedline.la   \
1442                 libmurphy-common.la                      \
1443                 libmurphy-decision-tree.la
1444 endif
1445
1446
1447 # domain control plugin
1448 DOMAIN_CONTROL_PLUGIN_SOURCES = plugins/domain-control/plugin-domain-control.c \
1449                                 plugins/domain-control/domain-control.c        \
1450                                 plugins/domain-control/proxy.c                 \
1451                                 plugins/domain-control/table.c                 \
1452                                 plugins/domain-control/notify.c                \
1453                                 plugins/domain-control/message.c
1454 DOMAIN_CONTROL_PLUGIN_LOADER  = linkedin-domain-control-loader.c
1455
1456
1457 DOMAIN_CONTROL_PLUGIN_CFLAGS  =
1458 DOMAIN_CONTROL_PLUGIN_LIBS    =
1459
1460 if !DISABLED_PLUGIN_DOMAIN_CONTROL
1461 if BUILTIN_PLUGIN_DOMAIN_CONTROL
1462 LINKEDIN_PLUGINS             += libmurphy-plugin-domain-control.la
1463 lib_LTLIBRARIES              += libmurphy-plugin-domain-control.la
1464 DOMAIN_CONTROL_PLUGIN_CFLAGS += $(BUILTIN_CFLAGS)
1465
1466
1467 libmurphy_plugin_domain_control_ladir =                          \
1468                 $(includedir)/murphy/domain-control
1469
1470 libmurphy_plugin_domain_control_la_SOURCES =                     \
1471                 $(DOMAIN_CONTROL_PLUGIN_SOURCES)                 \
1472                 $(DOMAIN_CONTROL_PLUGIN_LOADER)
1473
1474 libmurphy_plugin_domain_control_la_CFLAGS =                      \
1475                 $(DOMAIN_CONTROL_PLUGIN_CFLAGS)                  \
1476                 $(AM_CFLAGS)                                     \
1477                 $(JSON_CFLAGS)
1478
1479 libmurphy_plugin_domain_control_la_LDFLAGS =                     \
1480                 -Wl,-version-script=linker-script.domain-control \
1481                 -version-info @MURPHY_VERSION_INFO@
1482
1483 libmurphy_plugin_domain_control_la_LIBADD =             \
1484                 libmurphy-core.la                       \
1485                 libmurphy-common.la                     \
1486                 murphy-db/mql/libmql.la                 \
1487                 murphy-db/mqi/libmqi.la                 \
1488                 murphy-db/mdb/libmdb.la
1489
1490 libmurphy_plugin_domain_control_la_DEPENDENCIES =       \
1491                 linker-script.domain-control            \
1492         $(filter %.la, $(libmurphy_plugin_domain_control_la_LIBADD))
1493 else
1494 plugin_domain_control_la_SOURCES = $(DOMAIN_CONTROL_PLUGIN_SOURCES)
1495 plugin_domain_control_la_CFLAGS  = $(DOMAIN_CONTROL_PLUGIN_CFLAGS) \
1496                                    $(MURPHY_CFLAGS) $(AM_CFLAGS)
1497 plugin_domain_control_la_LDFLAGS = -module -avoid-version
1498 plugin_domain_control_la_LIBADD  = $(DOMAIN_CONTROL_PLUGIN_LIBS)
1499 plugin_LTLIBRARIES              += plugin-domain-control.la
1500 endif
1501
1502
1503 # domain controller client library
1504 lib_LTLIBRARIES += libmurphy-domain-controller.la
1505 EXTRA_DIST      += plugins/domain-control/murphy-domain-controller.pc
1506 pkgconfig_DATA  += plugins/domain-control/murphy-domain-controller.pc
1507
1508 libmurphy_domain_controller_ladir =                     \
1509                 $(includedir)/murphy/domain-control
1510
1511 libmurphy_domain_controller_la_HEADERS =                \
1512                 plugins/domain-control/client.h
1513
1514 libmurphy_domain_controller_la_SOURCES =                \
1515                 plugins/domain-control/client.c         \
1516                 plugins/domain-control/message.c
1517 libmurphy_domain_controller_la_CFLAGS   =               \
1518                 $(JSON_CFLAGS)
1519 libmurphy_domain_controller_la_LIBADD   =       \
1520                 libmurphy-common.la             \
1521                 murphy-db/mql/libmql.la         \
1522                 murphy-db/mqi/libmqi.la         \
1523                 murphy-db/mdb/libmdb.la         \
1524                 $(JSON_LIBS)
1525
1526 if WEBSOCKETS_ENABLED
1527 EXTRA_DIST          += $(domain_control_DATA)
1528 domain_controldir    = $(datadir)/murphy/domain-control
1529 domain_control_DATA  =                                          \
1530                 plugins/domain-control/domain-control-api.js    \
1531                 plugins/domain-control/domain-control-test.html
1532 endif
1533
1534 # test domain controller (disabled until we have a readline replacement)
1535 bin_PROGRAMS += test-domain-controller
1536
1537 test_domain_controller_SOURCES = plugins/domain-control/test-client.c
1538 test_domain_controller_CFLAGS  = $(AM_CFLAGS)
1539 test_domain_controller_LDADD   = libmurphy-domain-controller.la \
1540                                  libbreedline-murphy.la         \
1541                                  libbreedline.la                \
1542                                  libmurphy-common.la
1543 endif
1544
1545 # linkedin domain control plugin linker script generation
1546 linker-script.domain-control: $(DOMAIN_CONTROL_PLUGIN_LOADER:%.c=%.h)
1547         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
1548                 -P "$(CC)" -c "$(libmurphy_domain_controller_la_CFLAGS)" -o $@ $^
1549
1550 clean-linker-script::
1551         -rm -f linker-script.domain-control
1552
1553 # Lua plugin
1554 LUA_PLUGIN_SOURCES = plugins/plugin-lua.c
1555 LUA_PLUGIN_CFLAGS  = $(AM_CFLAGS) $(LUA_CFLAGS)
1556 LUA_PLUGIN_LIBS    = $(LUA_LIBS)
1557
1558
1559 if BUILTIN_PLUGIN_LUA
1560 BUILTIN_PLUGINS += $(LUA_PLUGIN_SOURCES)
1561 BUILTIN_CFLAGS  += $(LUA_PLUGIN_CFLAGS)
1562 BUILTIN_LIBS    += $(LUA_PLUGIN_LIBS)
1563 else
1564 plugin_lua_la_SOURCES = plugins/plugin-lua.c
1565 plugin_lua_la_CFLAGS  = $(LUA_PLUGIN_CFLAGS) \
1566                         $(MURPHY_CFLAGS) $(AM_CFLAGS)
1567 plugin_lua_la_LDFLAGS = -module -avoid-version
1568 plugin_lua_la_LIBADD  = $(LUA_PLUGIN_LIBS) $(LUA_LIBS)
1569
1570 plugin_LTLIBRARIES    += plugin-lua.la
1571 endif
1572
1573 # systemd (logging) plugin
1574 if SYSTEMD_ENABLED
1575 SYSTEMD_PLUGIN_SOURCES = plugins/plugin-systemd.c
1576 SYSTEMD_PLUGIN_CFLAGS  = $(SYSTEMD_CFLAGS)
1577 SYSTEMD_PLUGIN_LIBS    = $(SYSTEMD_LIBS)
1578
1579 if !DISABLED_PLUGIN_SYSTEMD
1580 if BUILTIN_PLUGIN_SYSTEMD
1581 BUILTIN_PLUGINS += $(SYSTEMD_PLUGIN_SOURCES)
1582 BUILTIN_CFLAGS  += $(SYSTEMD_PLUGIN_CFLAGS)
1583 BUILTIN_LIBS    += $(SYSTEMD_PLUGIN_LIBS)
1584 else
1585 plugin_systemd_la_SOURCES = $(SYSTEMD_PLUGIN_SOURCES)
1586 plugin_systemd_la_CFLAGS  = $(SYSTEMD_PLUGIN_CFLAGS) \
1587                             $(MURPHY_CFLAGS) \
1588                             $(AM_CFLAGS)
1589 plugin_systemd_la_LDFLAGS = -module -avoid-version
1590 plugin_systemd_la_LIBADD  = $(SYSTEMD_PLUGIN_LIBS)
1591
1592 plugin_LTLIBRARIES += plugin-systemd.la
1593 endif
1594 endif
1595 endif
1596
1597 # system-controller
1598 if SYSTEMCTL_ENABLED
1599 SYSTEMCTL_DIR = plugins/system-controller
1600
1601 SYSTEMCTL_PLUGIN_SOURCES =                                             \
1602         $(SYSTEMCTL_DIR)/plugin-system-controller.c                    \
1603         $(SYSTEMCTL_DIR)/resource-manager/resource-manager.c           \
1604         $(SYSTEMCTL_DIR)/resource-manager/scripting-resource-manager.c \
1605         $(SYSTEMCTL_DIR)/resource-manager/screen.c                     \
1606         $(SYSTEMCTL_DIR)/resource-manager/audio.c                      \
1607         $(SYSTEMCTL_DIR)/resource-manager/notifier.c                   \
1608         $(SYSTEMCTL_DIR)/resource-manager/scripting-notifier.c         \
1609         $(SYSTEMCTL_DIR)/resource-client/resource-client.c             \
1610         $(SYSTEMCTL_DIR)/resource-client/scripting-resource-client.c   \
1611         $(SYSTEMCTL_DIR)/application/application.c                     \
1612         $(SYSTEMCTL_DIR)/application/scripting-application.c           \
1613         $(SYSTEMCTL_DIR)/application-tracker/application-tracker.c     \
1614         $(SYSTEMCTL_DIR)/application-tracker/path-track.c              \
1615         $(SYSTEMCTL_DIR)/user/user.c                                   \
1616         $(SYSTEMCTL_DIR)/wayland/wayland.c                             \
1617         $(SYSTEMCTL_DIR)/wayland/output.c                              \
1618         $(SYSTEMCTL_DIR)/wayland/layer.c                               \
1619         $(SYSTEMCTL_DIR)/wayland/area.c                                \
1620         $(SYSTEMCTL_DIR)/wayland/window.c                              \
1621         $(SYSTEMCTL_DIR)/wayland/animation.c                           \
1622         $(SYSTEMCTL_DIR)/wayland/input.c                               \
1623         $(SYSTEMCTL_DIR)/wayland/code.c                                \
1624         $(SYSTEMCTL_DIR)/wayland/scripting-wayland.c                   \
1625         $(SYSTEMCTL_DIR)/wayland/scripting-window-manager.c            \
1626         $(SYSTEMCTL_DIR)/wayland/scripting-animation.c                 \
1627         $(SYSTEMCTL_DIR)/wayland/scripting-window.c                    \
1628         $(SYSTEMCTL_DIR)/wayland/scripting-output.c                    \
1629         $(SYSTEMCTL_DIR)/wayland/scripting-area.c                      \
1630         $(SYSTEMCTL_DIR)/wayland/scripting-layer.c                     \
1631         $(SYSTEMCTL_DIR)/wayland/scripting-input-manager.c             \
1632         $(SYSTEMCTL_DIR)/wayland/scripting-input.c                     \
1633         $(SYSTEMCTL_DIR)/wayland/scripting-code.c
1634
1635 if WESTON_ICO_PLUGINS
1636 SYSTEMCTL_PLUGIN_SOURCES +=                                            \
1637         $(SYSTEMCTL_DIR)/wayland/ico-window-manager.c                  \
1638         $(SYSTEMCTL_DIR)/wayland/ico-input-manager.c
1639
1640 SYSTEMCTL_PLUGIN_CFLAGS  = \
1641         $(WEBSOCKETS_CFLAGS) $(WAYLAND_CLIENT_CFLAGS) $(LIBXML2_CFLAGS) \
1642         $(AUL_CFLAGS) $(AIL_CFLAGS) \
1643         -DWESTON_ICO_PLUGINS \
1644         -Iico-uxf-weston-plugin \
1645         -I$(top_builddir)/src/$(SYSTEMCTL_DIR)
1646 SYSTEMCTL_PLUGIN_LIBS    = \
1647         $(WEBSOCKET_LIBS) $(WAYLAND_CLIENT_LIBS) $(LIBXML2_LIBS) $(AUL_LIBS) \
1648         $(AIL_CFLAGS) -lico-uxf-weston-plugin $(TZCONFIG_LIBS)
1649 else
1650 SYSTEMCTL_PLUGIN_SOURCES +=                                            \
1651         $(SYSTEMCTL_DIR)/wayland/glm-window-manager.c                  \
1652         $(SYSTEMCTL_DIR)/wayland/glm-input-manager.c
1653 SYSTEMCTL_PLUGIN_CFLAGS  = \
1654         $(WEBSOCKETS_CFLAGS) $(WAYLAND_CLIENT_CFLAGS) $(LIBXML2_CFLAGS) \
1655         $(IVI_EXTENSION_PROTOCOL_CFLAGS) \
1656         -Iico-uxf-weston-plugin \
1657         $(AUL_CFLAGS) $(AIL_CFLAGS) \
1658         -I$(top_builddir)/src/$(SYSTEMCTL_DIR)
1659 SYSTEMCTL_PLUGIN_LIBS    = \
1660         $(WEBSOCKET_LIBS) $(WAYLAND_CLIENT_LIBS) $(LIBXML2_LIBS) \
1661         $(IVI_EXTENSION_PROTOCOL_LIBS) \
1662         $(AUL_LIBS) $(AIL_CFLAGS) -lico-uxf-weston-plugin
1663 endif
1664
1665 SYSTEMCTL_PLUGIN_LOADER  = linkedin-system-controller-loader.c
1666
1667 if !DISABLED_PLUGIN_SYSTEMCTL
1668 if BUILTIN_PLUGIN_SYSTEMCTL
1669 LINKEDIN_PLUGINS             += libmurphy-plugin-system-controller.la
1670 lib_LTLIBRARIES              += libmurphy-plugin-system-controller.la
1671 SYSTEMCTL_PLUGIN_CFLAGS += $(BUILTIN_CFLAGS)
1672
1673
1674 libmurphy_plugin_system_controller_ladir =                              \
1675                 $(includedir)/murphy/system-controller
1676
1677 libmurphy_plugin_system_controller_la_SOURCES =                         \
1678                 $(SYSTEMCTL_PLUGIN_SOURCES)                             \
1679                 $(SYSTEMCTL_PLUGIN_LOADER)
1680
1681 libmurphy_plugin_system_controller_la_CFLAGS =                          \
1682                 $(SYSTEMCTL_PLUGIN_CFLAGS)                              \
1683                 $(AM_CFLAGS)                                            \
1684                 $(TZCONFIG_CFLAGS)
1685
1686 libmurphy_plugin_system_controller_la_LDFLAGS =                         \
1687                 -Wl,-version-script=linker-script.system-controller     \
1688                 -version-info @MURPHY_VERSION_INFO@
1689
1690 libmurphy_plugin_system_controller_la_LIBADD =          \
1691                 libmurphy-core.la                       \
1692                 libmurphy-common.la                     \
1693                 $(SYSTEMCTL_PLUGIN_LIBS)
1694
1695 libmurphy_plugin_system_controller_la_DEPENDENCIES =    \
1696                 linker-script.system-controller         \
1697         $(filter %.la, $(libmurphy_plugin_system_controller_la_LIBADD))
1698 else
1699 plugin_system_controller_la_SOURCES = $(SYSTEMCTL_PLUGIN_SOURCES)
1700 plugin_system_controller_la_CFLAGS  = $(SYSTEMCTL_PLUGIN_CFLAGS) \
1701                                    $(MURPHY_CFLAGS) $(AM_CFLAGS)
1702 plugin_system_controller_la_LDFLAGS = -module -avoid-version
1703 plugin_system_controller_la_LIBADD  = $(SYSTEMCTL_PLUGIN_LIBS)
1704 plugin_LTLIBRARIES                 += plugin-system-controller.la
1705 endif
1706 endif
1707
1708 # linkedin system-controller plugin linker script generation
1709 linker-script.system-controller: $(SYSTEMCTL_PLUGIN_LOADER:%.c=%.h)
1710         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
1711                 -c "$(libmurphy_plugin_system_controller_la_CFLAGS)" -o $@ $^
1712
1713 clean-linker-script::
1714         -rm -f linker-script.system-controller
1715
1716 generate-linker-scripts: linker-script.system-controller
1717 endif
1718
1719 # system-monitor
1720 if SYSMON_ENABLED
1721 SYSMON_PLUGIN_SOURCES =                                         \
1722         plugins/system-monitor/plugin-system-monitor.c          \
1723         plugins/system-monitor/system-monitor.c                 \
1724         plugins/system-monitor/cpu-watch.c                      \
1725         plugins/system-monitor/cpu-sampler.c                    \
1726         plugins/system-monitor/mem-watch.c                      \
1727         plugins/system-monitor/mem-sampler.c                    \
1728         plugins/system-monitor/cgroup.c                         \
1729         plugins/system-monitor/process-watch.c
1730
1731
1732 SYSMON_PLUGIN_CFLAGS  = -I$(top_builddir)/src/plugins/system-monitor
1733 SYSMON_PLUGIN_LIBS    = -lm
1734
1735 SYSMON_PLUGIN_LOADER  = linkedin-system-monitor-loader.c
1736
1737 if !DISABLED_PLUGIN_SYSMON
1738 if BUILTIN_PLUGIN_SYSMON
1739 LINKEDIN_PLUGINS     += libmurphy-plugin-system-monitor.la
1740 lib_LTLIBRARIES      += libmurphy-plugin-system-monitor.la
1741 SYSMON_PLUGIN_CFLAGS += $(BUILTIN_CFLAGS)
1742
1743
1744 libmurphy_plugin_system_monitor_ladir =                                 \
1745                 $(includedir)/murphy/system-monitor
1746
1747 libmurphy_plugin_system_monitor_la_SOURCES =                            \
1748                 $(SYSMON_PLUGIN_SOURCES)                                \
1749                 $(SYSMON_PLUGIN_LOADER)
1750
1751 libmurphy_plugin_system_monitor_la_CFLAGS =                             \
1752                 $(SYSMON_PLUGIN_CFLAGS)                                 \
1753                 $(AM_CFLAGS)
1754
1755 libmurphy_plugin_system_monitor_la_LDFLAGS =                            \
1756                 -Wl,-version-script=linker-script.system-monitor        \
1757                 -version-info @MURPHY_VERSION_INFO@
1758
1759 libmurphy_plugin_system_monitor_la_LIBADD =                             \
1760                 libmurphy-core.la                                       \
1761                 libmurphy-common.la                                     \
1762                 $(SYSMON_PLUGIN_LIBS)
1763
1764 libmurphy_plugin_system_monitor_la_DEPENDENCIES =                       \
1765                 linker-script.system-monitor                            \
1766         $(filter %.la, $(libmurphy_plugin_system_monitor_la_LIBADD))
1767 else
1768 plugin_system_monitor_la_SOURCES = $(SYSMON_PLUGIN_SOURCES)
1769 plugin_system_monitor_la_CFLAGS  = $(SYSMON_PLUGIN_CFLAGS)              \
1770                                    $(MURPHY_CFLAGS) $(AM_CFLAGS)
1771 plugin_system_monitor_la_LDFLAGS = -module -avoid-version
1772 plugin_system_monitor_la_LIBADD  = $(SYSMON_PLUGIN_LIBS)
1773 plugin_LTLIBRARIES                 += plugin-system-monitor.la
1774 endif
1775 endif
1776
1777 # linkedin system-monitor plugin linker script generation
1778 linker-script.system-monitor: $(SYSMON_PLUGIN_LOADER:%.c=%.h)
1779         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
1780                 -c "$(libmurphy_plugin_system_monitor_la_CFLAGS)" -o $@ $^
1781
1782 clean-linker-script::
1783         -rm -f linker-script.system-monitor
1784
1785 generate-linker-scripts: linker-script.system-monitor
1786 endif
1787
1788 # telephony plugin
1789 TELEPHONY_PLUGIN_SOURCES =  plugins/plugin-telephony.c          \
1790                             plugins/telephony/telephony.c       \
1791                             plugins/telephony/utils.c           \
1792                             plugins/telephony/ofono.c           \
1793                             plugins/telephony/resctl.c
1794
1795 #TELEPHONY_PLUGIN_HEADERS =  plugins/telephony/telephony.h
1796 TELEPHONY_PLUGIN_CFLAGS  = $(LIBDBUS_CFLAGS)
1797 TELEPHONY_PLUGIN_LIBS    =
1798 #TELEPHONY_PLUGINdir     = $(includedir)/murphy/telephony
1799
1800 if TELEPHONY_ENABLED
1801 if BUILTIN_PLUGIN_TELEPHONY
1802 BUILTIN_PLUGINS += $(TELEPHONY_PLUGIN_SOURCES)
1803 BUILTIN_CFLAGS  += $(TELEPHONY_PLUGIN_CFLAGS)
1804 BUILTIN_LIBS    += $(TELEPHONY_PLUGIN_LIBS)
1805 else
1806 plugin_telephony_la_SOURCES = $(TELEPHONY_PLUGIN_SOURCES)
1807 #plugin_telephony_la_HEADERS = $(TELEPHONY_PLUGIN_HEADERS)
1808 plugin_telephony_la_CFLAGS  = $(TELEPHONY_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1809 plugin_telephony_la_LDFLAGS = -module -Wl,-version-script=linker-script.plugin-telephony \
1810                                -version-info @MURPHY_VERSION_INFO@
1811 plugin_telephony_la_LIBADD  = $(TELEPHONY_PLUGIN_LIBS)
1812 plugin_telephony_ladir      = $(TELEPHONY_PLUGINdir)
1813
1814 plugin_LTLIBRARIES    += plugin-telephony.la
1815 endif
1816 endif
1817
1818 # Audio Session Manager plugin
1819 RESOURCE_ASM_PLUGIN_SOURCES = plugins/plugin-resource-asm.c
1820 RESOURCE_ASM_PLUGIN_CFLAGS  = $(AUDIO_SESSION_MANAGER_CFLAGS)
1821 RESOURCE_ASM_PLUGIN_LIBS    =
1822
1823 if AUL_ENABLED
1824 RESOURCE_ASM_PLUGIN_CFLAGS  += $(AUL_CFLAGS) -DAUL
1825 RESOURCE_ASM_PLUGIN_LIBS    += $(AUL_LIBS)
1826 endif
1827
1828 if RESOURCE_ASM_ENABLED
1829
1830 if !DISABLED_PLUGIN_RESOURCE_ASM
1831
1832 if BUILTIN_PLUGIN_RESOURCE_ASM
1833 BUILTIN_PLUGINS += $(RESOURCE_ASM_PLUGIN_SOURCES)
1834 BUILTIN_CFLAGS  += $(RESOURCE_ASM_PLUGIN_CFLAGS)
1835 BUILTIN_LIBS    += $(RESOURCE_ASM_PLUGIN_LIBS)
1836 else
1837 plugin_resource_asm_la_SOURCES = $(RESOURCE_ASM_PLUGIN_SOURCES)
1838 plugin_resource_asm_la_CFLAGS  = $(RESOURCE_ASM_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1839 plugin_resource_asm_la_LDFLAGS = -module -avoid-version
1840 plugin_resource_asm_la_LIBADD  = $(RESOURCE_ASM_PLUGIN_LIBS)
1841
1842 plugin_LTLIBRARIES    += plugin-resource-asm.la
1843 endif
1844 SUBDIRS += plugins/resource-asm
1845 endif
1846
1847 endif
1848
1849 ###################################
1850 # murphy daemon
1851 #
1852
1853 bin_PROGRAMS += murphyd
1854 EXTRA_DIST   += $(config_DATA)
1855 configdir     = $(sysconfdir)/murphy
1856 config_DATA   = $(shell ls daemon/sample-config/*.{cfg,rules})
1857
1858 murphyd_SOURCES =                       \
1859                 daemon/daemon.c         \
1860                 daemon/config.c         \
1861                 $(BUILTIN_PLUGINS)      \
1862                 load-linkedin-plugins.c
1863
1864 murphyd_CFLAGS  =                       \
1865                 $(AM_CFLAGS)            \
1866                 $(BUILTIN_CFLAGS)       \
1867                 $(JSON_CFLAGS)
1868
1869 murphyd_LDADD  =                                \
1870                 $(BUILTIN_LIBS)                 \
1871                 $(LINKEDIN_PLUGINS)             \
1872                 $(RESOURCE_LIBRARY)             \
1873                 libmurphy-resolver.la           \
1874                 libmurphy-lua-decision.la       \
1875                 libmurphy-core.la               \
1876                 libmurphy-lua-utils.la          \
1877                 libmurphy-common.la             \
1878                 $(JSON_LIBS)
1879
1880 if LIBDBUS_ENABLED
1881 murphyd_LDADD +=                                \
1882                 libmurphy-dbus-libdbus.la       \
1883                 -lrt $(LIBDBUS_LIBS)
1884 endif
1885
1886
1887 murphyd_LDFLAGS = -rdynamic
1888
1889 install-data-hook::
1890         rm -f $(DESTDIR)/$(sysconfdir)/murphy/murphy.cfg
1891         echo "load-plugin lua config=\"$(sysconfdir)/murphy/main.cfg\"" \
1892             > $(DESTDIR)/$(sysconfdir)/murphy/murphy.conf
1893
1894 ###################################
1895 # linkedin (DSO) loader generation
1896 #
1897
1898 linkedin-%-loader.c:
1899         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1900             -p $(shell echo $@ | \
1901                 sed 's/linkedin-//g;s/-loader.c//g') -o $@
1902
1903 linkedin-%-loader.h:
1904         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1905             -p $(shell echo $@ | \
1906                 sed 's/linkedin-//g;s/-loader.h//g') -o $@
1907
1908 load-linkedin-plugins.c:
1909         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1910             -o $@ -d $(shell echo $(LINKEDIN_PLUGINS) | \
1911                            sed 's/.*plugin-//g;s/\.[^\.]*$$//g')
1912
1913 clean-local::
1914         -rm -f linkedin-*-loader.[hc] load-linkedin-plugins.c
1915
1916 ###################################
1917 # murphy console client
1918 #
1919
1920 if CONSOLE_ENABLED
1921 bin_PROGRAMS += murphy-console
1922
1923 murphy_console_SOURCES =                \
1924                 console-client/client.c
1925
1926 murphy_console_CFLAGS  =                \
1927                 $(AM_CFLAGS)
1928
1929 murphy_console_LDADD  =                 \
1930                 libbreedline-murphy.la  \
1931                 libbreedline.la         \
1932                 libmurphy-common.la
1933
1934 if LIBDBUS_ENABLED
1935 murphy_console_LDADD += libmurphy-dbus-libdbus.la
1936 endif
1937
1938 murphy_console_LDFLAGS = -rdynamic
1939 endif
1940
1941 # cleanup
1942 clean-local:: # clean-linker-script
1943         -rm -f *~