common: more versatile data serialization via native-types.
[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 BUILT_SOURCES   =
7
8 AM_CFLAGS       = $(WARNING_CFLAGS) $(INCLUDES) -DLIBDIR=\"@LIBDIR@\"
9 MURPHY_CFLAGS   =
10 pkgconfigdir    = ${libdir}/pkgconfig
11
12 bin_PROGRAMS    =
13 lib_LTLIBRARIES =
14 pkgconfig_DATA  =
15 EXTRA_DIST      =
16
17 QUIET_GEN      = $(Q:@=@echo '  GEN   '$@;)
18
19 LEXCOMPILE      = $(LEX) $(LFLAGS) $(AM_LFLAGS)
20 YACCCOMPILE     = $(YACC) $(YFLAGS) $(AM_YFLAGS)
21
22 INCLUDES        = -I$(top_builddir) -I$(top_builddir)/src \
23                   -I$(top_builddir)/src/murphy-db/include
24 BUILT_SOURCES   =
25
26 ###################################
27 # murphy common library
28 #
29
30 lib_LTLIBRARIES += libmurphy-common.la
31 EXTRA_DIST      += common/murphy-common.pc
32 pkgconfig_DATA  += common/murphy-common.pc
33
34
35 libmurphy_commonh_ladir      =          \
36                 $(includedir)/murphy
37
38 libmurphy_commonh_la_HEADERS =          \
39                 common.h                \
40                 config.h
41
42 libmurphy_common_ladir      =           \
43                 $(includedir)/murphy/common
44
45 libmurphy_common_la_HEADERS =           \
46                 common/macros.h         \
47                 common/list.h           \
48                 common/log.h            \
49                 common/debug.h          \
50                 common/debug-info.h     \
51                 common/env.h            \
52                 common/mm.h             \
53                 common/hashtbl.h        \
54                 common/process.h        \
55                 common/mainloop.h       \
56                 common/utils.h          \
57                 common/file-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
66 libmurphy_common_la_REGULAR_SOURCES =           \
67                 common/log.c                    \
68                 common/debug.c                  \
69                 common/env.c                    \
70                 common/mm.c                     \
71                 common/hashtbl.c                \
72                 common/mainloop.c               \
73                 common/utils.c                  \
74                 common/file-utils.c             \
75                 common/process.c                \
76                 common/msg.c                    \
77                 common/fragbuf.c                \
78                 common/json.c                   \
79                 common/transport.c              \
80                 common/stream-transport.c       \
81                 common/internal-transport.c     \
82                 common/dgram-transport.c        \
83                 common/tlv.c                    \
84                 common/native-types.c
85
86 libmurphy_common_la_SOURCES =                           \
87                 $(libmurphy_common_la_REGULAR_SOURCES)  \
88                 common-func-info.c
89
90 libmurphy_common_la_CFLAGS  =           \
91                 $(AM_CFLAGS)            \
92                 $(JSON_CFLAGS)
93
94 libmurphy_common_la_LDFLAGS =                                   \
95                 -Wl,-version-script=linker-script.common        \
96                 -version-info @MURPHY_VERSION_INFO@
97
98 libmurphy_common_la_LIBADD  =           \
99                 $(JSON_LIBS)            \
100                 -lrt
101
102 libmurphy_common_la_DEPENDENCIES = linker-script.common
103
104 libcommonincludedir      = $(includedir)/murphy/common
105 libcommoninclude_HEADERS = $(libmurphy_common_la_HEADERS)
106
107 if WEBSOCKETS_ENABLED
108 libmurphy_common_la_HEADERS +=                  \
109                 common/websocklib.h             \
110                 common/websocket.h
111
112 libmurphy_common_la_REGULAR_SOURCES +=          \
113                 common/websocklib.c             \
114                 common/websocket.c              \
115                 common/wsck-transport.c
116
117 libmurphy_common_la_CFLAGS +=                   \
118                 $(WEBSOCKETS_CFLAGS)
119
120 libmurphy_common_la_LIBADD +=                   \
121                 $(WEBSOCKETS_LIBS)
122
123 EXTRA_DIST     += $(webconsole_DATA);
124 webconsoledir   = $(datadir)/murphy/webconsole
125 webconsole_DATA =                               \
126                 plugins/console/console.js      \
127                 plugins/console/console.html
128 endif
129
130
131 # linker script generation
132 linker-script.common: $(libmurphy_common_la_HEADERS)
133         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
134                 -c "$(libmurphy_common_la_CFLAGS)" -o $@ $^
135
136 clean-linker-script::
137         -rm -f linker-script.common
138
139 generate-linker-scripts: linker-script.common
140
141 # debug file:line-function mapping generation
142 common-func-info.c: $(libmurphy_common_la_REGULAR_SOURCES)
143         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
144
145 clean-func-infos::
146         -rm common-func-info.c
147
148 ###################################
149 # murphy lua utilities
150 #
151
152 lib_LTLIBRARIES += libmurphy-lua-utils.la
153 EXTRA_DIST      += core/lua-utils/murphy-lua-utils.pc
154 pkgconfig_DATA  += core/lua-utils/murphy-lua-utils.pc
155
156 libmurphy_lua_utils_ladir =                                     \
157                 $(includedir)/murphy/core/lua-utils
158
159 libmurphy_lua_utils_la_HEADERS =                                \
160                 core/lua-utils/strarray.h                       \
161                 core/lua-utils/funcbridge.h                     \
162                 core/lua-utils/object.h                         \
163                 core/lua-utils/error.h
164
165 libmurphy_lua_utils_la_REGULAR_SOURCES =                        \
166                 core/lua-utils/strarray.c                       \
167                 core/lua-utils/funcbridge.c                     \
168                 core/lua-utils/object.c                         \
169                 core/lua-utils/error.c
170
171 libmurphy_lua_utils_la_SOURCES =                                \
172                 $(libmurphy_lua_utils_la_REGULAR_SOURCES)       \
173                 lua-utils-func-info.c
174
175 libmurphy_lua_utils_la_CFLAGS =                                 \
176                 $(AM_CFLAGS)                                    \
177                 $(LUA_CFLAGS)
178
179 libmurphy_lua_utils_la_LDFLAGS =                                \
180                 -Wl,-version-script=linker-script.lua-utils     \
181                 -version-info @MURPHY_VERSION_INFO@
182
183 libmurphy_lua_utils_la_LIBADD =                                 \
184                 $(LUA_LIBS)
185
186 libmurphy_lua_utils_la_DEPENDENCIES = linker-script.lua-utils
187
188 # debug file:line-function mapping generation
189 lua-utils-func-info.c: $(libmurphy_lua_utils_la_REGULAR_SOURCES)
190         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
191
192 clean-func-infos::
193         -rm lua-utils-func-info.c
194
195 # lua-utils linker script generation
196 linker-script.lua-utils: $(libmurphy_lua_utils_la_HEADERS)
197         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
198                 -c "$(libmurphy_lua_utils_la_CFLAGS)" -o $@ $^
199
200 clean-linker-script::
201         -rm -f linker-script.lua-utils
202
203 generate-linker-scripts: linker-script.lua-utils
204
205 ###################################
206 # murphy lua decision network
207 #
208
209 lib_LTLIBRARIES += libmurphy-lua-decision.la
210 EXTRA_DIST      += core/lua-decision/murphy-lua-decision.pc
211 pkgconfig_DATA  += core/lua-decision/murphy-lua-decision.pc
212
213 libmurphy_lua_decision_ladir =                                  \
214                 $(includedir)/murphy/core/lua-decision
215
216 libmurphy_lua_decision_la_HEADERS =                             \
217                 core/lua-decision/mdb.h                         \
218                 core/lua-decision/element.h
219
220 libmurphy_lua_decision_la_REGULAR_SOURCES =                     \
221                 core/lua-decision/mdb.c                         \
222                 core/lua-decision/element.c
223
224 libmurphy_lua_decision_la_SOURCES =                             \
225                 $(libmurphy_lua_decision_la_REGULAR_SOURCES)    \
226                 lua-decision-func-info.c
227
228 libmurphy_lua_decision_la_CFLAGS =                              \
229                 $(AM_CFLAGS)                                    \
230                 $(LUA_CFLAGS)
231
232 libmurphy_lua_decision_la_LDFLAGS =                             \
233                 -Wl,-version-script=linker-script.lua-decision  \
234                 -version-info @MURPHY_VERSION_INFO@
235
236 libmurphy_lua_decision_la_LIBADD =                              \
237                 $(LUA_LIBS)
238
239 libmurphy_lua_decision_la_DEPENDENCIES = linker-script.lua-decision
240
241 # debug file:line-function mapping generation
242 lua-decision-func-info.c: $(libmurphy_lua_decision_la_REGULAR_SOURCES)
243         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
244
245 clean-func-infos::
246         -rm lua-decision-func-info.c
247
248 # lua-decision linker script generation
249 linker-script.lua-decision: $(libmurphy_lua_decision_la_HEADERS)
250         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
251                 -c "$(libmurphy_lua_decision_la_CFLAGS)" -o $@ $^
252
253 clean-linker-script::
254         -rm -f linker-script.lua-decision
255
256 generate-linker-scripts: linker-script.lua-decision
257
258 ###################################
259 # murphy core library
260 #
261
262 lib_LTLIBRARIES += libmurphy-core.la
263 EXTRA_DIST      += core/murphy-core.pc
264 pkgconfig_DATA  += core/murphy-core.pc
265
266 LUA_BINDINGS_SOURCES =                                  \
267                 core/lua-bindings/lua-murphy.c          \
268                 core/lua-bindings/lua-lua.c             \
269                 core/lua-bindings/lua-plugin.c          \
270                 core/lua-bindings/lua-log.c             \
271                 core/lua-bindings/lua-console.c         \
272                 core/lua-bindings/lua-bitwise.c         \
273                 core/lua-bindings/lua-json.c            \
274                 core/lua-bindings/lua-timer.c           \
275                 core/lua-bindings/lua-deferred.c        \
276                 core/lua-bindings/lua-sighandler.c      \
277                 core/lua-bindings/lua-transport.c
278
279 libmurphy_core_lua_bindings_ladir =                     \
280                 $(includedir)/murphy/core/lua-bindings
281
282 libmurphy_core_lua_bindings_la_HEADERS =                \
283                 core/lua-bindings/murphy.h              \
284                 core/lua-bindings/lua-json.h
285
286 libmurphy_coreh_ladir      =            \
287                 $(includedir)/murphy
288
289 libmurphy_coreh_la_HEADERS =            \
290                 core.h
291
292 libmurphy_core_ladir =                  \
293                 $(includedir)/murphy/core
294
295 libmurphy_core_la_HEADERS =             \
296                 core/context.h          \
297                 core/plugin.h           \
298                 core/console-command.h  \
299                 core/console.h          \
300                 core/scripting.h        \
301                 core/method.h           \
302                 core/event.h            \
303                 core/auth.h
304
305 libmurphy_core_la_REGULAR_SOURCES =     \
306                 core/context.c          \
307                 core/plugin.c           \
308                 core/console.c          \
309                 core/scripting.c        \
310                 core/method.c           \
311                 core/event.c            \
312                 core/auth.c             \
313                 core/auth-deny.c        \
314                 $(LUA_BINDINGS_SOURCES)
315
316 if SMACK_ENABLED
317 libmurphy_core_la_REGULAR_SOURCES +=    \
318                 core/auth-smack.c
319 endif
320
321 libmurphy_core_la_SOURCES =             \
322                 $(libmurphy_core_la_REGULAR_SOURCES) \
323                 core-func-info.c
324
325 libmurphy_core_la_CFLAGS  =             \
326                 $(AM_CFLAGS)            \
327                 $(LUA_CFLAGS)           \
328                 $(JSON_CFLAGS)          \
329                 $(SMACK_CFLAGS)
330
331 libmurphy_core_la_LDFLAGS =             \
332                 -Wl,-version-script=linker-script.core \
333                 -version-info @MURPHY_VERSION_INFO@
334
335 libmurphy_core_la_LIBADD  =                     \
336                 libmurphy-common.la             \
337                 libmurphy-lua-decision.la       \
338                 libmurphy-lua-utils.la          \
339                 $(LUA_LIBS)                     \
340                 $(SMACK_LIBS)                   \
341                 -ldl
342
343 libmurphy_core_la_DEPENDENCIES = linker-script.core        \
344         $(filter %.la, $(libmurphy_core_la_LIBADD))
345
346 # core linker script generation
347 linker-script.core: $(libmurphy_core_la_HEADERS) \
348                     $(libmurphy_core_lua_bindings_la_HEADERS)
349         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
350                 -c "$(libmurphy_core_la_CFLAGS)" -o $@ $^
351
352 clean-linker-script::
353         -rm -f linker-script.core
354
355 generate-linker-scripts: linker-script.core
356
357 # debug file:line-function mapping generation
358 core-func-info.c: $(libmurphy_core_la_REGULAR_SOURCES)
359         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
360
361 clean-func-infos::
362         -rm core-func-info.c
363
364 ###################################
365 # murphy dbus library
366 #
367
368 murphy_dbus_headers =                   \
369                 common/dbus.h           \
370                 common/dbus-transport.h
371
372 if DBUS_ENABLED
373 lib_LTLIBRARIES += libmurphy-dbus.la
374 EXTRA_DIST      += common/murphy-dbus.pc
375 pkgconfig_DATA  += common/murphy-dbus.pc
376
377 libmurphy_dbus_ladir      =             \
378                 $(includedir)/murphy/common
379
380 libmurphy_dbus_la_HEADERS = $(murphy_dbus_headers)
381
382
383 libmurphy_dbus_la_REGULAR_SOURCES =     \
384                 common/dbus.c           \
385                 common/dbus-glue.c      \
386                 common/dbus-transport.c
387
388 libmurphy_dbus_la_SOURCES =             \
389                 $(libmurphy_dbus_la_REGULAR_SOURCES) \
390                 dbus-func-info.c
391
392 libmurphy_dbus_la_CFLAGS  =             \
393                 $(AM_CFLAGS)            \
394                 $(DBUS_CFLAGS)
395
396 libmurphy_dbus_la_LDFLAGS =             \
397                 -Wl,-version-script=linker-script.dbus \
398                 -version-info @MURPHY_VERSION_INFO@
399
400 libmurphy_dbus_la_LIBADD  =             \
401                 -lrt $(DBUS_LIBS)
402
403 libmurphy_dbus_la_DEPENDENCIES = linker-script.dbus
404
405 libdbusincludedir      = $(includedir)/murphy/dbus
406 libdbusinclude_HEADERS = $(libmurphy_dbus_la_HEADERS)
407
408 # debug file:line-function mapping generation
409 dbus-func-info.c: $(libmurphy_dbus_la_REGULAR_SOURCES)
410         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
411
412 clean-func-infos::
413         -rm dbus-func-info.c
414 endif
415
416 # linker script generation
417 linker-script.dbus: $(murphy_dbus_headers)
418         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
419                 -c "$(libmurphy_dbus_la_CFLAGS)" -o $@ $^
420
421 clean-linker-script::
422         -rm -f linker-script.dbus
423
424 generate-linker-scripts: linker-script.dbus
425
426
427 ###################################
428 # murphy pulse glue library
429 #
430
431 murphy_pulse_headers =                  \
432                 common/pulse-glue.h
433
434 if PULSE_ENABLED
435 lib_LTLIBRARIES += libmurphy-pulse.la
436 EXTRA_DIST      += common/murphy-pulse.pc
437 pkgconfig_DATA  += common/murphy-pulse.pc
438
439 libmurphy_pulse_ladir      =            \
440                 $(includedir)/murphy/common
441
442 libmurphy_pulse_la_HEADERS = $(murphy_pulse_headers)
443
444 libmurphy_pulse_la_SOURCES =            \
445                 common/pulse-glue.c
446
447 libmurphy_pulse_la_CFLAGS  =            \
448                 $(AM_CFLAGS)            \
449                 $(PULSE_CFLAGS)
450
451 libmurphy_pulse_la_LDFLAGS =            \
452                 -Wl,-version-script=linker-script.pulse \
453                 -version-info @MURPHY_VERSION_INFO@
454
455 libmurphy_pulse_la_LIBADD  =
456
457 libmurphy_pulse_la_DEPENDENCIES = linker-script.pulse
458
459 libpulseincludedir      = $(includedir)/murphy/pulse
460 libpulseinclude_HEADERS = $(libmurphy_pulse_la_HEADERS)
461 endif
462
463 # linker script generation
464 linker-script.pulse: $(murphy_pulse_headers)
465         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
466                 -c "$(libmurphy_pulse_la_CFLAGS)" -o $@ $^
467
468 clean-linker-script::
469         -rm -f linker-script.pulse
470
471 generate-linker-scripts: linker-script.pulse
472
473 ###################################
474 # murphy ecore glue library
475 #
476
477 murphy_ecore_headers =                  \
478                 common/ecore-glue.h
479
480 if ECORE_ENABLED
481 lib_LTLIBRARIES += libmurphy-ecore.la
482 EXTRA_DIST      += common/murphy-ecore.pc
483 pkgconfig_DATA  += common/murphy-ecore.pc
484
485 libmurphy_ecore_ladir      =            \
486                 $(includedir)/murphy/common
487
488 libmurphy_ecore_la_HEADERS = $(murphy_ecore_headers)
489
490 libmurphy_ecore_la_SOURCES =            \
491                 common/ecore-glue.c
492
493 libmurphy_ecore_la_CFLAGS  =            \
494                 $(AM_CFLAGS)            \
495                 $(ECORE_CFLAGS)
496
497 libmurphy_ecore_la_LDFLAGS =            \
498                 -Wl,-version-script=linker-script.ecore \
499                 -version-info @MURPHY_VERSION_INFO@
500
501 libmurphy_ecore_la_LIBADD  =
502
503 libmurphy_ecore_la_DEPENDENCIES = linker-script.ecore
504
505 libecoreincludedir      = $(includedir)/murphy/ecore
506 libecoreinclude_HEADERS = $(libmurphy_ecore_la_HEADERS)
507 endif
508
509 # linker script generation
510 linker-script.ecore: $(murphy_ecore_headers)
511         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
512                 -c "$(libmurphy_ecore_la_CFLAGS)" -o $@ $^
513
514 clean-linker-script::
515         -rm -f linker-script.ecore
516
517 generate-linker-scripts: linker-script.ecore
518
519 ###################################
520 # murphy glib glue library
521 #
522
523 murphy_glib_headers =                   \
524                 common/glib-glue.h
525
526 if GLIB_ENABLED
527 lib_LTLIBRARIES += libmurphy-glib.la
528 EXTRA_DIST      += common/murphy-glib.pc
529 pkgconfig_DATA  += common/murphy-glib.pc
530
531 libmurphy_glib_ladir      =             \
532                 $(includedir)/murphy/common
533
534 libmurphy_glib_la_HEADERS = $(murphy_glib_headers)
535
536 libmurphy_glib_la_SOURCES =             \
537                 common/glib-glue.c
538
539 libmurphy_glib_la_CFLAGS  =             \
540                 $(AM_CFLAGS)            \
541                 $(GLIB_CFLAGS)
542
543 libmurphy_glib_la_LDFLAGS =             \
544                 -Wl,-version-script=linker-script.glib \
545                 -version-info @MURPHY_VERSION_INFO@
546
547 libmurphy_glib_la_LIBADD  =
548
549 libmurphy_glib_la_DEPENDENCIES = linker-script.glib
550
551 libglibincludedir      = $(includedir)/murphy/glib
552 libglibinclude_HEADERS = $(libmurphy_glib_la_HEADERS)
553 endif
554
555 # linker script generation
556 linker-script.glib: $(murphy_glib_headers)
557         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
558                 -c "$(libmurphy_glib_la_CFLAGS)" -o $@ $^
559
560 clean-linker-script::
561         -rm -f linker-script.glib
562
563 generate-linker-scripts: linker-script.glib
564
565 ###################################
566 # murphy qt glue library
567 #
568
569 murphy_qt_headers       =               \
570                 common/qt-glue.h
571
572 if QT_ENABLED
573 lib_LTLIBRARIES += libmurphy-qt.la
574 EXTRA_DIST      += common/murphy-qt.pc
575 pkgconfig_DATA  += common/murphy-qt.pc
576
577 BUILT_SOURCES   += common/qt-glue-priv.moc.h
578
579 libmurphy_qt_ladir      =               \
580                 $(includedir)/murphy/common
581
582 libmurphy_qt_la_HEADERS = $(murphy_qt_headers)
583
584 libmurphy_qt_la_SOURCES =               \
585                 common/qt-glue.cpp
586
587 libmurphy_qt_la_CPPFLAGS  =             \
588                 $(AM_CFLAGS)            \
589                 $(QTCORE_CFLAGS)
590
591 libmurphy_qt_la_LDFLAGS =               \
592                 -Wl,-version-script=linker-script.qt \
593                 -version-info @MURPHY_VERSION_INFO@
594
595 libmurphy_qt_la_LIBADD  = $(QTCORE_LIBS)
596
597 libmurphy_qt_la_DEPENDENCIES = linker-script.qt
598
599 libqtincludedir      = $(includedir)/murphy/qt
600 libqtinclude_HEADERS = $(libmurphy_qt_la_HEADERS)
601
602 # run moc to generate Qt meta objects
603 common/qt-glue-priv.moc.h: common/qt-glue-priv.h
604         $(QUIET_GEN)$(QT_MOC) -DQT_ENABLED=1 $< -o$@
605 endif
606
607 # linker script generation
608 linker-script.qt: $(murphy_qt_headers)
609         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
610                 -c "$(libmurphy_qt_la_CPPFLAGS) -DQT_ENABLED=1" -o $@ $^
611
612 clean-linker-script::
613         -rm -f linker-script.qt
614
615 generate-linker-scripts: linker-script.qt
616
617 ###################################
618 # murphy resolver library
619 #
620
621 lib_LTLIBRARIES += libmurphy-resolver.la
622 EXTRA_DIST      += resolver/murphy-resolver.pc
623 pkgconfig_DATA  += resolver/murphy-resolver.pc
624
625 BUILT_SOURCES   += resolver/scanner.c resolver/parser.c
626
627 libmurphy_resolver_ladir =                      \
628                 $(includedir)/murphy/resolver
629
630 libmurphy_resolver_la_HEADERS =                 \
631                 resolver/resolver.h
632
633 SIMPLE_SCRIPT_SOURCES =                                         \
634                 resolver/scripting/simple/simple-script.c       \
635                 resolver/scripting/simple/simple-scanner.c      \
636                 resolver/scripting/simple/simple-parser.c       \
637                 resolver/scripting/simple/call.c                \
638                 resolver/scripting/simple/builtins.c
639
640 libmurphy_resolver_la_REGULAR_SOURCES =                         \
641                 resolver/resolver.c                             \
642                 resolver/parser.c                               \
643                 resolver/scanner.c                              \
644                 resolver/target.c                               \
645                 resolver/target-sorter.c                        \
646                 resolver/fact.c                                 \
647                 resolver/events.c                               \
648                 resolver/console.c                              \
649                 $(SIMPLE_SCRIPT_SOURCES)
650
651 libmurphy_resolver_la_SOURCES =                 \
652                 $(libmurphy_resolver_la_REGULAR_SOURCES)        \
653                 resolver-func-info.c
654
655 libmurphy_resolver_la_CFLAGS =                  \
656                 $(AM_CFLAGS)                    \
657                 $(JSON_CFLAGS)
658
659 libmurphy_resolver_la_LDFLAGS =                 \
660                 -Wl,-version-script=linker-script.resolver \
661                 -version-info @MURPHY_VERSION_INFO@
662
663 libmurphy_resolver_la_LIBADD =          \
664                 libmurphy-core.la       \
665                 libmurphy-common.la     \
666                 murphy-db/mql/libmql.la \
667                 murphy-db/mqi/libmqi.la \
668                 murphy-db/mdb/libmdb.la
669
670 libmurphy_resolver_la_DEPENDENCIES = linker-script.resolver  \
671         $(filter %.la, $(libmurphy_resolver_la_LIBADD))
672
673 # resolver lexical analyser and parser generation
674 RESOLVER_PARSER_PREFIX = yy_res_
675
676 resolver/scanner.c: resolver/scanner.l resolver/parser.c
677         $(LEXCOMPILE) -P $(RESOLVER_PARSER_PREFIX) $<
678         mv lex.$(RESOLVER_PARSER_PREFIX).c $@
679
680 resolver/parser.h resolver/parser.c: resolver/parser.y
681         $(YACCCOMPILE) -p $(RESOLVER_PARSER_PREFIX) $< -o resolver/parser.c
682
683 # debug file:line-function mapping generation
684 resolver-func-info.c: $(libmurphy_resolver_la_REGULAR_SOURCES)
685         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
686
687 clean-func-infos::
688         -rm resolver-func-info.c
689
690 # resolver linker script generation
691 linker-script.resolver: $(libmurphy_resolver_la_HEADERS)
692         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
693                 -c "$(libmurphy_resolver_la_CFLAGS)" -o $@ $^
694
695 clean-linker-script::
696         -rm -f linker-script.resolver
697
698
699 generate-linker-scripts: linker-script.resolver
700 # simple interpreter lexical analyser and parser generation
701 SIMPLE_PARSER_PREFIX  = yy_smpl_
702 BUILT_SOURCES        += resolver/scripting/simple/simple-scanner.c \
703                         resolver/scripting/simple/simple-parser.c
704
705 resolver/scripting/simple/simple-scanner.c:             \
706     resolver/scripting/simple/simple-scanner.l          \
707     resolver/scripting/simple/simple-parser.c
708         $(LEXCOMPILE) -P $(SIMPLE_PARSER_PREFIX) $<
709         mv lex.$(SIMPLE_PARSER_PREFIX).c $@
710
711 # simple interpreter parser generation
712 resolver/scripting/simple/simple-parser.h       \
713 resolver/scripting/simple/simple-parser.c:      \
714     resolver/scripting/simple/simple-parser.y
715         $(YACCCOMPILE) -p $(SIMPLE_PARSER_PREFIX) $< -o \
716             resolver/scripting/simple/simple-parser.c
717
718 ###################################
719 # murphy backend resource library
720 #
721
722 if BUILD_RESOURCES
723 RESOURCE_LIBRARY = libmurphy-resource-backend.la
724 else
725 RESOURCE_LIBRARY =
726 endif
727
728 if BUILD_RESOURCES
729 lib_LTLIBRARIES += $(RESOURCE_LIBRARY)
730
731 libmurphy_resource_backend_ladir =                     \
732                 $(includedir)/murphy/resource
733
734 libmurphy_resource_backend_la_HEADERS =                        \
735                 resource/data-types.h           \
736                 resource/common-api.h           \
737                 resource/client-api.h           \
738                 resource/manager-api.h          \
739                 resource/config-api.h           \
740                 resource/protocol.h
741
742 libmurphy_resource_backend_la_REGULAR_SOURCES =                \
743                 resource/attribute.c            \
744                 resource/resource.c             \
745                 resource/resource-set.c         \
746                 resource/application-class.c    \
747                 resource/resource-owner.c       \
748                 resource/resource-client.c      \
749                 resource/zone.c                 \
750                 resource/config-lua.c           \
751                 resource/resource-lua.c
752
753 libmurphy_resource_backend_la_SOURCES =                        \
754                 $(libmurphy_resource_backend_la_REGULAR_SOURCES)        \
755                 resource-func-info.c
756
757 libmurphy_resource_backend_la_CFLAGS =          \
758                 $(AM_CFLAGS)                    \
759                 $(LUA_CFLAGS)
760
761 libmurphy_resource_backend_la_LDFLAGS =                        \
762                 -Wl,-version-script=linker-script.resource_backend \
763                 -version-info @MURPHY_VERSION_INFO@
764
765 libmurphy_resource_backend_la_LIBADD =     \
766                 libmurphy-core.la   \
767                 libmurphy-common.la \
768                 murphy-db/mql/libmql.la \
769                 murphy-db/mqi/libmqi.la \
770                 murphy-db/mdb/libmdb.la \
771                 $(LUA_LIBS)
772
773 libmurphy_resource_backend_la_DEPENDENCIES = linker-script.resource_backend \
774         $(filter %.la, $(libmurphy_resource_backend_la_LIBADD))
775
776 # debug file:line-function mapping generation
777 resource-func-info.c: $(libmurphy_resource_backend_la_REGULAR_SOURCES)
778         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
779
780 clean-func-infos::
781         -rm resource-func-info.c
782 endif
783
784 # resource linker script generation
785 linker-script.resource_backend: $(libmurphy_resource_backend_la_HEADERS)
786         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
787                 -c "$(libmurphy_resource_backend_la_CFLAGS)" -o $@ $^
788
789 clean-linker-script::
790         -rm -f linker-script.resource_backend
791
792 generate-linker-scripts: linker-script.resource_backend
793
794 ##########################
795 # readline replacement
796 #
797 lib_LTLIBRARIES += libbreedline.la
798 EXTRA_DIST      += breedline/breedline.pc
799 pkgconfig_DATA  += breedline/breedline.pc
800
801 libbreedline_ladir      =               \
802                 $(includedir)/breedline
803
804 libbreedline_la_HEADERS =               \
805                 breedline/breedline.h   \
806                 breedline/macros.h
807
808 libbreedline_la_SOURCES =               \
809                 breedline/breedline.c
810
811 libbreedline_la_CFLAGS  =               \
812                 $(AM_CFLAGS)
813
814 libbreedline_la_LDFLAGS =                                       \
815                 -Wl,-version-script=linker-script.breedline     \
816                 -version-info @MURPHY_VERSION_INFO@
817
818 libbreedline_la_LIBADD =
819
820 libbreedline_la_DEPENDENCIES = linker-script.breedline
821
822 libbreedlineincludedir      = $(includedir)/breedline
823 libbreedlineinclude_HEADERS = $(libbreedline_la_HEADERS)
824
825 # linker script generation
826 linker-script.breedline: $(libbreedline_la_HEADERS)
827         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
828                 -c "$(libbreedline_la_CFLAGS)" -p '^brl_' -o $@ $^
829
830 clean-linker-script::
831         -rm -f linker-script.breedline
832
833 generate-linker-scripts: linker-script.breedline
834
835 ##########################
836 # breedline murphy glue library
837 #
838 lib_LTLIBRARIES += libbreedline-murphy.la
839 EXTRA_DIST      += breedline/breedline-murphy.pc
840 pkgconfig_DATA  += breedline/breedline-murphy.pc
841
842 libbreedline_murphy_ladir      = $(includedir)/breedline
843
844 libbreedline_murphy_la_HEADERS = breedline/breedline-murphy.h
845 libbreedline_murphy_la_SOURCES = breedline/breedline-murphy.c
846 libbreedline_murphy_la_CFLAGS  = $(AM_CFLAGS)
847
848 libbreedline_murphy_la_LDFLAGS =        \
849                 -Wl,-version-script=linker-script.breedline-murphy      \
850                 -version-info @MURPHY_VERSION_INFO@
851
852 libbreedline_murphy_la_LIBADD = libmurphy-common.la
853
854 libbreedline_murphy_la_DEPENDENCIES = linker-script.breedline-murphy \
855         $(filter %.la,$(libbreedline_murphy_la_LIBADD))
856
857 libbreedline_murphyincludedir      = $(includedir)/breedline
858 libbreedline_murphyinclude_HEADERS = $(libbreedline_murphy_la_HEADERS)
859
860 # linker script generation
861 linker-script.breedline-murphy: $(libbreedline_murphy_la_HEADERS)
862         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
863             -c "$(libbreedline_murphy_la_CFLAGS)" -p '^brl_' -o $@ $^
864
865 clean-linker-script::
866         -rm -f linker-script.breedline-murphy
867
868 generate-linker-scripts: linker-script.breedline-murphy
869
870 ##########################
871 # breedline glib glue library
872 #
873
874 breedline_glib_headers =        \
875                 breedline/breedline-glib.h
876
877 if GLIB_ENABLED
878 lib_LTLIBRARIES += libbreedline-glib.la
879 EXTRA_DIST      += breedline/breedline-glib.pc
880 pkgconfig_DATA  += breedline/breedline-glib.pc
881
882 libbreedline_glib_ladir      = $(includedir)/breedline
883
884 libbreedline_glib_la_HEADERS = $(breedline_glib_headers)
885 libbreedline_glib_la_SOURCES = breedline/breedline-glib.c
886 libbreedline_glib_la_CFLAGS  = $(AM_CFLAGS) $(GLIB_CFLAGS)
887
888 libbreedline_glib_la_LDFLAGS = \
889                 -Wl,-version-script=linker-script.breedline-glib        \
890                 -version-info @MURPHY_VERSION_INFO@
891
892 libbreedline_glib_la_LIBADD = $(GLIB_LIBS)
893
894 libbreedline_glib_la_DEPENDENCIES = linker-script.breedline-glib
895
896 libbreedline_glibincludedir      = $(includedir)/breedline
897 libbreedline_glibinclude_HEADERS = $(libbreedline_glib_la_HEADERS)
898 endif
899
900 # linker script generation
901 linker-script.breedline-glib: $(breedline_glib_headers)
902         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
903                 -c "$(libbreedline_glib_la_CFLAGS)" -p '^brl_' -o $@ $^
904
905 clean-linker-script::
906         -rm -f linker-script.breedline-glib
907
908 generate-linker-scripts: linker-script.breedline-glib
909
910 ###################################
911 # murphy resource external library
912
913 # TODO: put this under conditional compilation
914
915 lib_LTLIBRARIES += libmurphy-resource.la
916 EXTRA_DIST      += plugins/resource-native/libmurphy-resource/murphy-resource.pc
917 pkgconfig_DATA  += plugins/resource-native/libmurphy-resource/murphy-resource.pc
918
919 libmurphy_resource_ladir =          \
920         $(includedir)/murphy/plugins/resource-native/libmurphy-resource
921
922 libmurphy_resource_la_HEADERS =         \
923         plugins/resource-native/libmurphy-resource/resource-api.h     \
924         plugins/resource-native/libmurphy-resource/resource-private.h
925
926 libmurphy_resource_la_SOURCES =         \
927         plugins/resource-native/libmurphy-resource/resource.c \
928         plugins/resource-native/libmurphy-resource/attribute.c \
929         plugins/resource-native/libmurphy-resource/rset.c \
930         plugins/resource-native/libmurphy-resource/string_array.c \
931         plugins/resource-native/libmurphy-resource/message.c \
932         plugins/resource-native/libmurphy-resource/resource-log.c
933
934 libmurphy_resource_la_CFLAGS =          \
935         $(AM_CFLAGS)
936
937 libmurphy_resource_la_LDFLAGS = \
938                 -Wl,-version-script=linker-script.resource      \
939                 -version-info @MURPHY_VERSION_INFO@
940
941 libmurphy_resource_la_LIBADD =      \
942         libmurphy-common.la
943
944 libmurphy_resource_la_DEPENDENCIES =    \
945                      libmurphy-common.la \
946                      linker-script.resource
947
948 # linker script generation
949 linker-script.resource: $(libmurphy_resource_la_HEADERS)
950         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
951                 -c "$(libmurphy_resource_la_CFLAGS)" -o $@ $^
952
953 clean-linker-script::
954         -rm -f linker-script.resource
955
956 generate-linker-scripts: linker-script.resource
957
958
959 # resource-api-test
960 bin_PROGRAMS += resource-api-test
961
962 resource_api_test_SOURCES = plugins/resource-native/libmurphy-resource/api_test.c
963 resource_api_test_CFLAGS  = $(AM_CFLAGS)
964 resource_api_test_LDADD   = libmurphy-common.la libmurphy-resource.la
965
966 # resource-api-fuzz
967 bin_PROGRAMS += resource-api-fuzz
968
969 resource_api_fuzz_SOURCES = plugins/resource-native/libmurphy-resource/resource-fuzz.c
970 resource_api_fuzz_CFLAGS  = $(AM_CFLAGS)
971 resource_api_fuzz_LDADD   = libmurphy-common.la libmurphy-resource.la
972
973 ###################################
974 # murphy plugins
975 #
976
977 BUILTIN_PLUGINS    =
978 BUILTIN_CFLAGS     = -D__MURPHY_BUILTIN_PLUGIN__ $(AM_CFLAGS)
979 BUILTIN_LIBS       =
980
981 LINKEDIN_PLUGINS   =
982
983 plugin_LTLIBRARIES =
984 plugindir          = $(libdir)/murphy/plugins
985
986
987 # test plugin
988 TEST_PLUGIN_SOURCES = plugins/plugin-test.c
989 TEST_PLUGIN_CFLAGS  =
990 TEST_PLUGIN_LIBS    =
991
992 if !DISABLED_PLUGIN_TEST
993 if BUILTIN_PLUGIN_TEST
994 BUILTIN_PLUGINS += $(TEST_PLUGIN_SOURCES)
995 BUILTIN_CFLAGS  += $(TEST_PLUGIN_CFLAGS)
996 BUILTIN_LIBS    += $(TEST_PLUGIN_LIBS)
997 else
998 plugin_test_la_SOURCES = $(TEST_PLUGIN_SOURCES)
999 plugin_test_la_CFLAGS  = $(TEST_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1000 plugin_test_la_LDFLAGS = -module -avoid-version
1001 plugin_test_la_LIBADD  = $(TEST_PLUGIN_LIBS)
1002
1003 plugin_LTLIBRARIES    += plugin-test.la
1004 endif
1005 endif
1006
1007 # dbus plugin
1008 if DBUS_ENABLED
1009 DBUS_PLUGIN_SOURCES = plugins/plugin-dbus.c
1010 DBUS_PLUGIN_CFLAGS  = $(DBUS_CFLAGS)
1011 DBUS_PLUGIN_LIBS    = libmurphy-dbus.la $(DBUS_LIBS)
1012
1013 if !DISABLED_PLUGIN_DBUS
1014 if BUILTIN_PLUGIN_DBUS
1015 BUILTIN_PLUGINS += $(DBUS_PLUGIN_SOURCES)
1016 BUILTIN_CFLAGS  += $(DBUS_PLUGIN_CFLAGS)
1017 BUILTIN_LIBS    += $(DBUS_PLUGIN_LIBS)
1018 else
1019 plugin_dbus_la_SOURCES = $(DBUS_PLUGIN_SOURCES)
1020 plugin_dbus_la_CFLAGS  = $(DBUS_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1021 plugin_dbus_la_LDFLAGS = -module -avoid-version
1022 plugin_dbus_la_LIBADD  = $(DBUS_PLUGIN_LIBS)
1023
1024 plugin_LTLIBRARIES    += plugin-dbus.la
1025 endif
1026 endif
1027 endif
1028
1029 if GLIB_ENABLED
1030 # glib plugin
1031 GLIB_PLUGIN_SOURCES = plugins/plugin-glib.c
1032 GLIB_PLUGIN_CFLAGS  = $(GLIB_CFLAGS)
1033 GLIB_PLUGIN_LIBS    = $(GLIB_LIBS)
1034
1035 if !DISABLED_PLUGIN_GLIB
1036 if BUILTIN_PLUGIN_GLIB
1037 BUILTIN_PLUGINS += $(GLIB_PLUGIN_SOURCES)
1038 BUILTIN_CFLAGS  += $(GLIB_PLUGIN_CFLAGS)
1039 BUILTIN_LIBS    += $(GLIB_PLUGIN_LIBS)
1040 else
1041 plugin_glib_la_SOURCES = $(GLIB_PLUGIN_SOURCES)
1042 plugin_glib_la_CFLAGS  = $(GLIB_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1043 plugin_glib_la_LDFLAGS = -module -avoid-version
1044 plugin_glib_la_LIBADD  = $(GLIB_PLUGIN_LIBS)
1045
1046 plugin_LTLIBRARIES    += plugin-glib.la
1047 endif
1048 endif
1049 endif
1050
1051 # resource-dbus plugin
1052 if BUILD_RESOURCES
1053 if DBUS_ENABLED
1054 RESOURCE_DBUS_PLUGIN_SOURCES = plugins/plugin-resource-dbus.c
1055 RESOURCE_DBUS_PLUGIN_CFLAGS  = $(DBUS_CFLAGS)
1056 RESOURCE_DBUS_PLUGIN_LIBS    = libmurphy-dbus.la                   \
1057                                         libmurphy-core.la                                       \
1058                                         libmurphy-common.la                 \
1059                                         $(RESOURCE_LIBRARY)
1060
1061 if !DISABLED_PLUGIN_RESOURCE_DBUS
1062 if BUILTIN_PLUGIN_RESOURCE_DBUS
1063 BUILTIN_PLUGINS += $(RESOURCE_DBUS_PLUGIN_SOURCES)
1064 BUILTIN_CFLAGS  += $(RESOURCE_DBUS_PLUGIN_CFLAGS)
1065 BUILTIN_LIBS    += $(RESOURCE_DBUS_PLUGIN_LIBS)
1066 else
1067 plugin_resource_dbus_la_SOURCES = $(RESOURCE_DBUS_PLUGIN_SOURCES)
1068 plugin_resource_dbus_la_CFLAGS  = $(RESOURCE_DBUS_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1069 plugin_resource_dbus_la_LDFLAGS = -module -avoid-version
1070 plugin_resource_dbus_la_LIBADD  = $(RESOURCE_DBUS_PLUGIN_LIBS)
1071 plugin_LTLIBRARIES    += plugin-resource-dbus.la
1072 endif
1073 endif
1074 endif
1075 endif
1076
1077 # resource-wrt plugin
1078 if BUILD_RESOURCES
1079 if WEBSOCKETS_ENABLED
1080 RESOURCE_WRT_PLUGIN_SOURCES = plugins/resource-wrt/plugin-resource-wrt.c
1081 RESOURCE_WRT_PLUGIN_CFLAGS  = $(WEBSOCKETS_CFLAGS)
1082 RESOURCE_WRT_PLUGIN_LIBS    =
1083
1084 if !DISABLED_PLUGIN_RESOURCE_WRT
1085 if BUILTIN_PLUGIN_RESOURCE_WRT
1086 BUILTIN_PLUGINS += $(RESOURCE_WRT_PLUGIN_SOURCES)
1087 BUILTIN_CFLAGS  += $(RESOURCE_WRT_PLUGIN_CFLAGS)
1088 BUILTIN_LIBS    += $(RESOURCE_WRT_PLUGIN_LIBS)
1089 else
1090 plugin_resource_wrt_la_SOURCES = $(RESOURCE_WRT_PLUGIN_SOURCES)
1091 plugin_resource_wrt_la_CFLAGS  = $(RESOURCE_WRT_PLUGIN_CFLAGS) \
1092                                  $(MURPHY_CFLAGS) $(AM_CFLAGS)
1093 plugin_resource_wrt_la_LDFLAGS = -module -avoid-version
1094 plugin_resource_wrt_la_LIBADD  = $(RESOURCE_WRT_PLUGIN_LIBS)
1095 plugin_LTLIBRARIES    += plugin-resource-wrt.la
1096
1097 EXTRA_DIST       += $(resource_wrt_DATA);
1098 resource_wrtdir   = $(datadir)/murphy/resource-wrt
1099 resource_wrt_DATA =                                     \
1100                 plugins/resource-wrt/resource-api.js    \
1101                 plugins/resource-wrt/resource-test.html
1102
1103 endif
1104 endif
1105 endif
1106 endif
1107
1108 # console plugin
1109 CONSOLE_PLUGIN_REGULAR_SOURCES = plugins/console/plugin-console.c
1110 CONSOLE_PLUGIN_SOURCES         = $(CONSOLE_PLUGIN_REGULAR_SOURCES) \
1111                                  plugin-console-func-info.c
1112 CONSOLE_PLUGIN_CFLAGS          =
1113 CONSOLE_PLUGIN_LIBS            =
1114
1115 if CONSOLE_ENABLED
1116 if !DISABLED_PLUGIN_CONSOLE
1117 if BUILTIN_PLUGIN_CONSOLE
1118 BUILTIN_PLUGINS += $(CONSOLE_PLUGIN_SOURCES)
1119 BUILTIN_CFLAGS  += $(CONSOLE_PLUGIN_CFLAGS)
1120 BUILTIN_LIBS    += $(CONSOLE_PLUGIN_LIBS)
1121 else
1122 plugin_console_la_SOURCES = $(CONSOLE_PLUGIN_SOURCES)
1123 plugin_console_la_CFLAGS  = $(CONSOLE_PLUGIN_CFLAGS) \
1124                             $(MURPHY_CFLAGS) $(AM_CFLAGS)
1125 plugin_console_la_LDFLAGS = -module -avoid-version
1126 plugin_console_la_LIBADD  = $(CONSOLE_PLUGIN_LIBS)
1127
1128 plugin_LTLIBRARIES    += plugin-console.la
1129 endif
1130 endif
1131 # debug file:line-function mapping generation
1132 plugin-console-func-info.c: $(CONSOLE_PLUGIN_REGULAR_SOURCES)
1133         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
1134
1135 clean-func-infos::
1136         -rm plugin-console-func-info.c
1137 endif
1138
1139 # native resource plugin
1140 if BUILD_RESOURCES
1141 PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES =                                \
1142                 plugins/resource-native/plugin-resource-native.c
1143 PLUGIN_RESOURCE_NATIVE_SOURCES =                                        \
1144                 $(PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES)               \
1145                 plugin-resource-native-func-info.c
1146 PLUGIN_RESOURCE_NATIVE_CFLAGS =                                         \
1147                 $(LUA_CFLAGS)
1148
1149 PLUGIN_RESOURCE_NATIVE_LIBS =                                           \
1150                 libmurphy-common.la                                     \
1151                 $(RESOURCE_LIBRARY)                                     \
1152                 $(LUA_LIBS)
1153
1154 plugin_resource_native_la_SOURCES = $(PLUGIN_RESOURCE_NATIVE_SOURCES)
1155 plugin_resource_native_la_CFLAGS  = $(PLUGIN_RESOURCE_NATIVE_CFLAGS)    \
1156                                     $(MURPHY_CFLAGS) $(AM_CFLAGS)       \
1157                                     $(JSON_CFLAGS)
1158 plugin_resource_native_la_LDFLAGS = -module -avoid-version
1159 plugin_resource_native_la_LIBADD  = $(PLUGIN_RESOURCE_NATIVE_LIBS)
1160
1161 plugin_LTLIBRARIES += plugin-resource-native.la
1162
1163 # resource-client
1164 bin_PROGRAMS += resource-client
1165
1166 resource_client_SOURCES = plugins/resource-native/resource-client.c
1167 resource_client_CFLAGS  = $(AM_CFLAGS)
1168 resource_client_LDADD   =  libmurphy-common.la
1169
1170 # debug file:line-function mapping generation
1171 plugin-resource-native-func-info.c: $(PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES)
1172         $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
1173
1174 clean-func-infos::
1175         -rm plugin-resource-native-func-info.c
1176 endif
1177
1178 # domain control plugin
1179 DOMAIN_CONTROL_PLUGIN_SOURCES = plugins/domain-control/plugin-domain-control.c \
1180                                 plugins/domain-control/domain-control.c        \
1181                                 plugins/domain-control/proxy.c                 \
1182                                 plugins/domain-control/table.c                 \
1183                                 plugins/domain-control/notify.c                \
1184                                 plugins/domain-control/message.c
1185 DOMAIN_CONTROL_PLUGIN_LOADER  = linkedin-domain-control-loader.c
1186
1187
1188 DOMAIN_CONTROL_PLUGIN_CFLAGS  =
1189 DOMAIN_CONTROL_PLUGIN_LIBS    =
1190
1191 if !DISABLED_PLUGIN_DOMAIN_CONTROL
1192 if BUILTIN_PLUGIN_DOMAIN_CONTROL
1193 LINKEDIN_PLUGINS             += libmurphy-plugin-domain-control.la
1194 lib_LTLIBRARIES              += libmurphy-plugin-domain-control.la
1195 DOMAIN_CONTROL_PLUGIN_CFLAGS += $(BUILTIN_CFLAGS)
1196
1197
1198 libmurphy_plugin_domain_control_ladir =                          \
1199                 $(includedir)/murphy/domain-control
1200
1201 libmurphy_plugin_domain_control_la_SOURCES =                     \
1202                 $(DOMAIN_CONTROL_PLUGIN_SOURCES)                 \
1203                 $(DOMAIN_CONTROL_PLUGIN_LOADER)
1204
1205 libmurphy_plugin_domain_control_la_CFLAGS =                      \
1206                 $(DOMAIN_CONTROL_PLUGIN_CFLAGS)                  \
1207                 $(AM_CFLAGS)                                     \
1208                 $(JSON_CFLAGS)
1209
1210 libmurphy_plugin_domain_control_la_LDFLAGS =                     \
1211                 -Wl,-version-script=linker-script.domain-control \
1212                 -version-info @MURPHY_VERSION_INFO@
1213
1214 libmurphy_plugin_domain_control_la_LIBADD =             \
1215                 libmurphy-core.la                       \
1216                 libmurphy-common.la                     \
1217                 murphy-db/mql/libmql.la                 \
1218                 murphy-db/mqi/libmqi.la                 \
1219                 murphy-db/mdb/libmdb.la
1220
1221 libmurphy_plugin_domain_control_la_DEPENDENCIES =       \
1222                 linker-script.domain-control            \
1223         $(filter %.la, $(libmurphy_plugin_domain_control_la_LIBADD))
1224 else
1225 plugin_domain_control_la_SOURCES = $(DOMAIN_CONTROL_PLUGIN_SOURCES)
1226 plugin_domain_control_la_CFLAGS  = $(DOMAIN_CONTROL_PLUGIN_CFLAGS) \
1227                                    $(MURPHY_CFLAGS) $(AM_CFLAGS)
1228 plugin_domain_control_la_LDFLAGS = -module -avoid-version
1229 plugin_domain_control_la_LIBADD  = $(DOMAIN_CONTROL_PLUGIN_LIBS)
1230 plugin_LTLIBRARIES              += plugin-domain-control.la
1231 endif
1232
1233
1234 # domain controller client library
1235 lib_LTLIBRARIES += libmurphy-domain-controller.la
1236 EXTRA_DIST      += plugins/domain-control/murphy-domain-controller.pc
1237 pkgconfig_DATA  += plugins/domain-control/murphy-domain-controller.pc
1238
1239 libmurphy_domain_controller_ladir =                     \
1240                 $(includedir)/murphy/domain-control
1241
1242 libmurphy_domain_controller_la_HEADERS =                \
1243                 plugins/domain-control/client.h
1244
1245 libmurphy_domain_controller_la_SOURCES =                \
1246                 plugins/domain-control/client.c         \
1247                 plugins/domain-control/message.c
1248 libmurphy_domain_controller_la_CFLAGS   =               \
1249                 $(JSON_CFLAGS)
1250 libmurphy_domain_controller_la_LIBADD   = libmurphy-common.la     \
1251                                           murphy-db/mql/libmql.la \
1252                                           murphy-db/mqi/libmqi.la \
1253                                           murphy-db/mdb/libmdb.la
1254
1255 if WEBSOCKETS_ENABLED
1256 EXTRA_DIST          += $(domain_control_DATA)
1257 domain_controldir    = $(datadir)/murphy/domain-control
1258 domain_control_DATA  =                                          \
1259                 plugins/domain-control/domain-control-api.js    \
1260                 plugins/domain-control/domain-control-test.html
1261 endif
1262
1263 # test domain controller (disabled until we have a readline replacement)
1264 bin_PROGRAMS += test-domain-controller
1265
1266 test_domain_controller_SOURCES = plugins/domain-control/test-client.c
1267 test_domain_controller_CFLAGS  = $(AM_CFLAGS)
1268 test_domain_controller_LDADD   = libmurphy-domain-controller.la \
1269                                  libbreedline-murphy.la         \
1270                                  libbreedline.la                \
1271                                  libmurphy-common.la
1272 endif
1273
1274 # linkedin domain control plugin linker script generation
1275 linker-script.domain-control: $(DOMAIN_CONTROL_PLUGIN_LOADER:%.c=%.h)
1276         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
1277                 -c "$(libmurphy_domain_controller_la_CFLAGS)" -o $@ $^
1278
1279 clean-linker-script::
1280         -rm -f linker-script.domain-control
1281
1282 generate-linker-scripts: linker-script.domain-control
1283
1284
1285 # Lua plugin
1286 LUA_PLUGIN_SOURCES = plugins/plugin-lua.c
1287 LUA_PLUGIN_CFLAGS  = $(AM_CFLAGS) $(LUA_CFLAGS)
1288 LUA_PLUGIN_LIBS    = $(LUA_LIBS)
1289
1290
1291 if BUILTIN_PLUGIN_LUA
1292 BUILTIN_PLUGINS += $(LUA_PLUGIN_SOURCES)
1293 BUILTIN_CFLAGS  += $(LUA_PLUGIN_CFLAGS)
1294 BUILTIN_LIBS    += $(LUA_PLUGIN_LIBS)
1295 else
1296 plugin_lua_la_SOURCES = plugins/plugin-lua.c
1297 plugin_lua_la_CFLAGS  = $(LUA_PLUGIN_CFLAGS) \
1298                         $(MURPHY_CFLAGS) $(AM_CFLAGS)
1299 plugin_lua_la_LDFLAGS = -module -avoid-version
1300 plugin_lua_la_LIBADD  = $(LUA_PLUGIN_LIBS) $(LUA_LIBS)
1301
1302 plugin_LTLIBRARIES    += plugin-lua.la
1303 endif
1304
1305 # systemd (logging) plugin
1306 if SYSTEMD_ENABLED
1307 SYSTEMD_PLUGIN_SOURCES = plugins/plugin-systemd.c
1308 SYSTEMD_PLUGIN_CFLAGS  = $(SYSTEMD_CFLAGS)
1309 SYSTEMD_PLUGIN_LIBS    = $(SYSTEMD_LIBS)
1310
1311 if !DISABLED_PLUGIN_SYSTEMD
1312 if BUILTIN_PLUGIN_SYSTEMD
1313 BUILTIN_PLUGINS += $(SYSTEMD_PLUGIN_SOURCES)
1314 BUILTIN_CFLAGS  += $(SYSTEMD_PLUGIN_CFLAGS)
1315 BUILTIN_LIBS    += $(SYSTEMD_PLUGIN_LIBS)
1316 else
1317 plugin_systemd_la_SOURCES = $(SYSTEMD_PLUGIN_SOURCES)
1318 plugin_systemd_la_CFLAGS  = $(SYSTEMD_PLUGIN_CFLAGS) \
1319                             $(MURPHY_CFLAGS) \
1320                             $(AM_CFLAGS)
1321 plugin_systemd_la_LDFLAGS = -module -avoid-version
1322 plugin_systemd_la_LIBADD  = $(SYSTEMD_PLUGIN_LIBS)
1323
1324 plugin_LTLIBRARIES += plugin-systemd.la
1325 endif
1326 endif
1327 endif
1328
1329
1330 ###################################
1331 # murphy daemon
1332 #
1333
1334 bin_PROGRAMS += murphyd
1335 EXTRA_DIST   += $(config_DATA)
1336 configdir     = $(sysconfdir)/murphy
1337 config_DATA   = daemon/murphy.conf
1338
1339 murphyd_SOURCES =                       \
1340                 daemon/daemon.c         \
1341                 daemon/config.c         \
1342                 $(BUILTIN_PLUGINS)      \
1343                 load-linkedin-plugins.c
1344
1345 murphyd_CFLAGS  =                       \
1346                 $(AM_CFLAGS)            \
1347                 $(BUILTIN_CFLAGS)       \
1348                 $(JSON_CFLAGS)
1349
1350 murphyd_LDADD  =                                \
1351                 $(BUILTIN_LIBS)                 \
1352                 $(LINKEDIN_PLUGINS)             \
1353                 $(RESOURCE_LIBRARY)             \
1354                 libmurphy-resolver.la           \
1355                 libmurphy-lua-decision.la       \
1356                 libmurphy-core.la               \
1357                 libmurphy-lua-utils.la          \
1358                 libmurphy-common.la
1359
1360 murphyd_LDFLAGS = -rdynamic
1361
1362
1363
1364 ###################################
1365 # linkedin (DSO) loader generation
1366 #
1367
1368 linkedin-%-loader.c:
1369         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1370             -p $(shell echo $@ | \
1371                 sed 's/linkedin-//g;s/-loader.c//g') -o $@
1372
1373 linkedin-%-loader.h:
1374         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1375             -p $(shell echo $@ | \
1376                 sed 's/linkedin-//g;s/-loader.h//g') -o $@
1377
1378 load-linkedin-plugins.c:
1379         $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1380             -o $@ -d $(shell echo $(LINKEDIN_PLUGINS) | \
1381                            sed 's/.*plugin-//g;s/\.[^\.]*$$//g')
1382
1383 clean-local::
1384         -rm -f linkedin-*-loader.[hc] load-linkedin-plugins.c
1385
1386 ###################################
1387 # murphy console client
1388 #
1389
1390 if CONSOLE_ENABLED
1391 bin_PROGRAMS += murphy-console
1392
1393 murphy_console_SOURCES =                \
1394                 console-client/client.c
1395
1396 murphy_console_CFLAGS  =                \
1397                 $(AM_CFLAGS)
1398
1399 murphy_console_LDADD  =                 \
1400                 libbreedline-murphy.la  \
1401                 libbreedline.la         \
1402                 libmurphy-common.la
1403
1404 if DBUS_ENABLED
1405 murphy_console_LDADD += libmurphy-dbus.la
1406 endif
1407
1408 murphy_console_LDFLAGS = -rdynamic
1409 endif
1410
1411 generate-linker-scripts:
1412         $(MAKE) -C murphy-db $@
1413
1414 # cleanup
1415 clean-local:: # clean-linker-script clean-func-infos
1416         -rm -f *~