1 SUBDIRS = murphy-db . \
2 common/tests breedline/tests core/tests \
3 core/lua-decision/tests resolver/tests \
4 daemon/tests plugins/tests
8 AM_CFLAGS = $(WARNING_CFLAGS) $(INCLUDES) -DLIBDIR=\"@LIBDIR@\"
10 pkgconfigdir = ${libdir}/pkgconfig
17 QUIET_GEN = $(Q:@=@echo ' GEN '$@;)
19 LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
20 YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
22 INCLUDES = -I$(top_builddir) -I$(top_builddir)/src \
23 -I$(top_builddir)/src/murphy-db/include
26 ###################################
27 # murphy common library
30 lib_LTLIBRARIES += libmurphy-common.la
31 EXTRA_DIST += common/murphy-common.pc
32 pkgconfig_DATA += common/murphy-common.pc
35 libmurphy_commonh_ladir = \
38 libmurphy_commonh_la_HEADERS = \
42 libmurphy_common_ladir = \
43 $(includedir)/murphy/common
45 libmurphy_common_la_HEADERS = \
66 libmurphy_common_la_REGULAR_SOURCES = \
80 common/stream-transport.c \
81 common/internal-transport.c \
82 common/dgram-transport.c \
86 libmurphy_common_la_SOURCES = \
87 $(libmurphy_common_la_REGULAR_SOURCES) \
90 libmurphy_common_la_CFLAGS = \
94 libmurphy_common_la_LDFLAGS = \
95 -Wl,-version-script=linker-script.common \
96 -version-info @MURPHY_VERSION_INFO@
98 libmurphy_common_la_LIBADD = \
102 libmurphy_common_la_DEPENDENCIES = linker-script.common
104 libcommonincludedir = $(includedir)/murphy/common
105 libcommoninclude_HEADERS = $(libmurphy_common_la_HEADERS)
107 if WEBSOCKETS_ENABLED
108 libmurphy_common_la_HEADERS += \
109 common/websocklib.h \
112 libmurphy_common_la_REGULAR_SOURCES += \
113 common/websocklib.c \
115 common/wsck-transport.c
117 libmurphy_common_la_CFLAGS += \
120 libmurphy_common_la_LIBADD += \
123 EXTRA_DIST += $(webconsole_DATA);
124 webconsoledir = $(datadir)/murphy/webconsole
126 plugins/console/console.js \
127 plugins/console/console.html
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 $@ $^
136 clean-linker-script::
137 -rm -f linker-script.common
139 generate-linker-scripts: linker-script.common
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 $@ $^
146 -rm common-func-info.c
148 ###################################
149 # murphy lua utilities
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
156 libmurphy_lua_utils_ladir = \
157 $(includedir)/murphy/core/lua-utils
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
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
171 libmurphy_lua_utils_la_SOURCES = \
172 $(libmurphy_lua_utils_la_REGULAR_SOURCES) \
173 lua-utils-func-info.c
175 libmurphy_lua_utils_la_CFLAGS = \
179 libmurphy_lua_utils_la_LDFLAGS = \
180 -Wl,-version-script=linker-script.lua-utils \
181 -version-info @MURPHY_VERSION_INFO@
183 libmurphy_lua_utils_la_LIBADD = \
186 libmurphy_lua_utils_la_DEPENDENCIES = linker-script.lua-utils
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 $@ $^
193 -rm lua-utils-func-info.c
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 $@ $^
200 clean-linker-script::
201 -rm -f linker-script.lua-utils
203 generate-linker-scripts: linker-script.lua-utils
205 ###################################
206 # murphy lua decision network
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
213 libmurphy_lua_decision_ladir = \
214 $(includedir)/murphy/core/lua-decision
216 libmurphy_lua_decision_la_HEADERS = \
217 core/lua-decision/mdb.h \
218 core/lua-decision/element.h
220 libmurphy_lua_decision_la_REGULAR_SOURCES = \
221 core/lua-decision/mdb.c \
222 core/lua-decision/element.c
224 libmurphy_lua_decision_la_SOURCES = \
225 $(libmurphy_lua_decision_la_REGULAR_SOURCES) \
226 lua-decision-func-info.c
228 libmurphy_lua_decision_la_CFLAGS = \
232 libmurphy_lua_decision_la_LDFLAGS = \
233 -Wl,-version-script=linker-script.lua-decision \
234 -version-info @MURPHY_VERSION_INFO@
236 libmurphy_lua_decision_la_LIBADD = \
239 libmurphy_lua_decision_la_DEPENDENCIES = linker-script.lua-decision
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 $@ $^
246 -rm lua-decision-func-info.c
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 $@ $^
253 clean-linker-script::
254 -rm -f linker-script.lua-decision
256 generate-linker-scripts: linker-script.lua-decision
258 ###################################
259 # murphy core library
262 lib_LTLIBRARIES += libmurphy-core.la
263 EXTRA_DIST += core/murphy-core.pc
264 pkgconfig_DATA += core/murphy-core.pc
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
279 libmurphy_core_lua_bindings_ladir = \
280 $(includedir)/murphy/core/lua-bindings
282 libmurphy_core_lua_bindings_la_HEADERS = \
283 core/lua-bindings/murphy.h \
284 core/lua-bindings/lua-json.h
286 libmurphy_coreh_ladir = \
289 libmurphy_coreh_la_HEADERS = \
292 libmurphy_core_ladir = \
293 $(includedir)/murphy/core
295 libmurphy_core_la_HEADERS = \
298 core/console-command.h \
305 libmurphy_core_la_REGULAR_SOURCES = \
314 $(LUA_BINDINGS_SOURCES)
317 libmurphy_core_la_REGULAR_SOURCES += \
321 libmurphy_core_la_SOURCES = \
322 $(libmurphy_core_la_REGULAR_SOURCES) \
325 libmurphy_core_la_CFLAGS = \
331 libmurphy_core_la_LDFLAGS = \
332 -Wl,-version-script=linker-script.core \
333 -version-info @MURPHY_VERSION_INFO@
335 libmurphy_core_la_LIBADD = \
336 libmurphy-common.la \
337 libmurphy-lua-decision.la \
338 libmurphy-lua-utils.la \
343 libmurphy_core_la_DEPENDENCIES = linker-script.core \
344 $(filter %.la, $(libmurphy_core_la_LIBADD))
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 $@ $^
352 clean-linker-script::
353 -rm -f linker-script.core
355 generate-linker-scripts: linker-script.core
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 $@ $^
364 ###################################
365 # murphy dbus library
368 murphy_dbus_headers = \
370 common/dbus-transport.h
373 lib_LTLIBRARIES += libmurphy-dbus.la
374 EXTRA_DIST += common/murphy-dbus.pc
375 pkgconfig_DATA += common/murphy-dbus.pc
377 libmurphy_dbus_ladir = \
378 $(includedir)/murphy/common
380 libmurphy_dbus_la_HEADERS = $(murphy_dbus_headers)
383 libmurphy_dbus_la_REGULAR_SOURCES = \
386 common/dbus-transport.c
388 libmurphy_dbus_la_SOURCES = \
389 $(libmurphy_dbus_la_REGULAR_SOURCES) \
392 libmurphy_dbus_la_CFLAGS = \
396 libmurphy_dbus_la_LDFLAGS = \
397 -Wl,-version-script=linker-script.dbus \
398 -version-info @MURPHY_VERSION_INFO@
400 libmurphy_dbus_la_LIBADD = \
403 libmurphy_dbus_la_DEPENDENCIES = linker-script.dbus
405 libdbusincludedir = $(includedir)/murphy/dbus
406 libdbusinclude_HEADERS = $(libmurphy_dbus_la_HEADERS)
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 $@ $^
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 $@ $^
421 clean-linker-script::
422 -rm -f linker-script.dbus
424 generate-linker-scripts: linker-script.dbus
427 ###################################
428 # murphy pulse glue library
431 murphy_pulse_headers = \
435 lib_LTLIBRARIES += libmurphy-pulse.la
436 EXTRA_DIST += common/murphy-pulse.pc
437 pkgconfig_DATA += common/murphy-pulse.pc
439 libmurphy_pulse_ladir = \
440 $(includedir)/murphy/common
442 libmurphy_pulse_la_HEADERS = $(murphy_pulse_headers)
444 libmurphy_pulse_la_SOURCES = \
447 libmurphy_pulse_la_CFLAGS = \
451 libmurphy_pulse_la_LDFLAGS = \
452 -Wl,-version-script=linker-script.pulse \
453 -version-info @MURPHY_VERSION_INFO@
455 libmurphy_pulse_la_LIBADD =
457 libmurphy_pulse_la_DEPENDENCIES = linker-script.pulse
459 libpulseincludedir = $(includedir)/murphy/pulse
460 libpulseinclude_HEADERS = $(libmurphy_pulse_la_HEADERS)
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 $@ $^
468 clean-linker-script::
469 -rm -f linker-script.pulse
471 generate-linker-scripts: linker-script.pulse
473 ###################################
474 # murphy ecore glue library
477 murphy_ecore_headers = \
481 lib_LTLIBRARIES += libmurphy-ecore.la
482 EXTRA_DIST += common/murphy-ecore.pc
483 pkgconfig_DATA += common/murphy-ecore.pc
485 libmurphy_ecore_ladir = \
486 $(includedir)/murphy/common
488 libmurphy_ecore_la_HEADERS = $(murphy_ecore_headers)
490 libmurphy_ecore_la_SOURCES = \
493 libmurphy_ecore_la_CFLAGS = \
497 libmurphy_ecore_la_LDFLAGS = \
498 -Wl,-version-script=linker-script.ecore \
499 -version-info @MURPHY_VERSION_INFO@
501 libmurphy_ecore_la_LIBADD =
503 libmurphy_ecore_la_DEPENDENCIES = linker-script.ecore
505 libecoreincludedir = $(includedir)/murphy/ecore
506 libecoreinclude_HEADERS = $(libmurphy_ecore_la_HEADERS)
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 $@ $^
514 clean-linker-script::
515 -rm -f linker-script.ecore
517 generate-linker-scripts: linker-script.ecore
519 ###################################
520 # murphy glib glue library
523 murphy_glib_headers = \
527 lib_LTLIBRARIES += libmurphy-glib.la
528 EXTRA_DIST += common/murphy-glib.pc
529 pkgconfig_DATA += common/murphy-glib.pc
531 libmurphy_glib_ladir = \
532 $(includedir)/murphy/common
534 libmurphy_glib_la_HEADERS = $(murphy_glib_headers)
536 libmurphy_glib_la_SOURCES = \
539 libmurphy_glib_la_CFLAGS = \
543 libmurphy_glib_la_LDFLAGS = \
544 -Wl,-version-script=linker-script.glib \
545 -version-info @MURPHY_VERSION_INFO@
547 libmurphy_glib_la_LIBADD =
549 libmurphy_glib_la_DEPENDENCIES = linker-script.glib
551 libglibincludedir = $(includedir)/murphy/glib
552 libglibinclude_HEADERS = $(libmurphy_glib_la_HEADERS)
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 $@ $^
560 clean-linker-script::
561 -rm -f linker-script.glib
563 generate-linker-scripts: linker-script.glib
565 ###################################
566 # murphy qt glue library
569 murphy_qt_headers = \
573 lib_LTLIBRARIES += libmurphy-qt.la
574 EXTRA_DIST += common/murphy-qt.pc
575 pkgconfig_DATA += common/murphy-qt.pc
577 BUILT_SOURCES += common/qt-glue-priv.moc.h
579 libmurphy_qt_ladir = \
580 $(includedir)/murphy/common
582 libmurphy_qt_la_HEADERS = $(murphy_qt_headers)
584 libmurphy_qt_la_SOURCES = \
587 libmurphy_qt_la_CPPFLAGS = \
591 libmurphy_qt_la_LDFLAGS = \
592 -Wl,-version-script=linker-script.qt \
593 -version-info @MURPHY_VERSION_INFO@
595 libmurphy_qt_la_LIBADD = $(QTCORE_LIBS)
597 libmurphy_qt_la_DEPENDENCIES = linker-script.qt
599 libqtincludedir = $(includedir)/murphy/qt
600 libqtinclude_HEADERS = $(libmurphy_qt_la_HEADERS)
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$@
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 $@ $^
612 clean-linker-script::
613 -rm -f linker-script.qt
615 generate-linker-scripts: linker-script.qt
617 ###################################
618 # murphy resolver library
621 lib_LTLIBRARIES += libmurphy-resolver.la
622 EXTRA_DIST += resolver/murphy-resolver.pc
623 pkgconfig_DATA += resolver/murphy-resolver.pc
625 BUILT_SOURCES += resolver/scanner.c resolver/parser.c
627 libmurphy_resolver_ladir = \
628 $(includedir)/murphy/resolver
630 libmurphy_resolver_la_HEADERS = \
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
640 libmurphy_resolver_la_REGULAR_SOURCES = \
641 resolver/resolver.c \
645 resolver/target-sorter.c \
649 $(SIMPLE_SCRIPT_SOURCES)
651 libmurphy_resolver_la_SOURCES = \
652 $(libmurphy_resolver_la_REGULAR_SOURCES) \
655 libmurphy_resolver_la_CFLAGS = \
659 libmurphy_resolver_la_LDFLAGS = \
660 -Wl,-version-script=linker-script.resolver \
661 -version-info @MURPHY_VERSION_INFO@
663 libmurphy_resolver_la_LIBADD = \
665 libmurphy-common.la \
666 murphy-db/mql/libmql.la \
667 murphy-db/mqi/libmqi.la \
668 murphy-db/mdb/libmdb.la
670 libmurphy_resolver_la_DEPENDENCIES = linker-script.resolver \
671 $(filter %.la, $(libmurphy_resolver_la_LIBADD))
673 # resolver lexical analyser and parser generation
674 RESOLVER_PARSER_PREFIX = yy_res_
676 resolver/scanner.c: resolver/scanner.l resolver/parser.c
677 $(LEXCOMPILE) -P $(RESOLVER_PARSER_PREFIX) $<
678 mv lex.$(RESOLVER_PARSER_PREFIX).c $@
680 resolver/parser.h resolver/parser.c: resolver/parser.y
681 $(YACCCOMPILE) -p $(RESOLVER_PARSER_PREFIX) $< -o resolver/parser.c
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 $@ $^
688 -rm resolver-func-info.c
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 $@ $^
695 clean-linker-script::
696 -rm -f linker-script.resolver
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
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 $@
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
718 ###################################
719 # murphy backend resource library
723 RESOURCE_LIBRARY = libmurphy-resource-backend.la
729 lib_LTLIBRARIES += $(RESOURCE_LIBRARY)
731 libmurphy_resource_backend_ladir = \
732 $(includedir)/murphy/resource
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 \
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 \
750 resource/config-lua.c \
751 resource/resource-lua.c
753 libmurphy_resource_backend_la_SOURCES = \
754 $(libmurphy_resource_backend_la_REGULAR_SOURCES) \
757 libmurphy_resource_backend_la_CFLAGS = \
761 libmurphy_resource_backend_la_LDFLAGS = \
762 -Wl,-version-script=linker-script.resource_backend \
763 -version-info @MURPHY_VERSION_INFO@
765 libmurphy_resource_backend_la_LIBADD = \
767 libmurphy-common.la \
768 murphy-db/mql/libmql.la \
769 murphy-db/mqi/libmqi.la \
770 murphy-db/mdb/libmdb.la \
773 libmurphy_resource_backend_la_DEPENDENCIES = linker-script.resource_backend \
774 $(filter %.la, $(libmurphy_resource_backend_la_LIBADD))
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 $@ $^
781 -rm resource-func-info.c
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 $@ $^
789 clean-linker-script::
790 -rm -f linker-script.resource_backend
792 generate-linker-scripts: linker-script.resource_backend
794 ##########################
795 # readline replacement
797 lib_LTLIBRARIES += libbreedline.la
798 EXTRA_DIST += breedline/breedline.pc
799 pkgconfig_DATA += breedline/breedline.pc
801 libbreedline_ladir = \
802 $(includedir)/breedline
804 libbreedline_la_HEADERS = \
805 breedline/breedline.h \
808 libbreedline_la_SOURCES = \
809 breedline/breedline.c
811 libbreedline_la_CFLAGS = \
814 libbreedline_la_LDFLAGS = \
815 -Wl,-version-script=linker-script.breedline \
816 -version-info @MURPHY_VERSION_INFO@
818 libbreedline_la_LIBADD =
820 libbreedline_la_DEPENDENCIES = linker-script.breedline
822 libbreedlineincludedir = $(includedir)/breedline
823 libbreedlineinclude_HEADERS = $(libbreedline_la_HEADERS)
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 $@ $^
830 clean-linker-script::
831 -rm -f linker-script.breedline
833 generate-linker-scripts: linker-script.breedline
835 ##########################
836 # breedline murphy glue library
838 lib_LTLIBRARIES += libbreedline-murphy.la
839 EXTRA_DIST += breedline/breedline-murphy.pc
840 pkgconfig_DATA += breedline/breedline-murphy.pc
842 libbreedline_murphy_ladir = $(includedir)/breedline
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)
848 libbreedline_murphy_la_LDFLAGS = \
849 -Wl,-version-script=linker-script.breedline-murphy \
850 -version-info @MURPHY_VERSION_INFO@
852 libbreedline_murphy_la_LIBADD = libmurphy-common.la
854 libbreedline_murphy_la_DEPENDENCIES = linker-script.breedline-murphy \
855 $(filter %.la,$(libbreedline_murphy_la_LIBADD))
857 libbreedline_murphyincludedir = $(includedir)/breedline
858 libbreedline_murphyinclude_HEADERS = $(libbreedline_murphy_la_HEADERS)
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 $@ $^
865 clean-linker-script::
866 -rm -f linker-script.breedline-murphy
868 generate-linker-scripts: linker-script.breedline-murphy
870 ##########################
871 # breedline glib glue library
874 breedline_glib_headers = \
875 breedline/breedline-glib.h
878 lib_LTLIBRARIES += libbreedline-glib.la
879 EXTRA_DIST += breedline/breedline-glib.pc
880 pkgconfig_DATA += breedline/breedline-glib.pc
882 libbreedline_glib_ladir = $(includedir)/breedline
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)
888 libbreedline_glib_la_LDFLAGS = \
889 -Wl,-version-script=linker-script.breedline-glib \
890 -version-info @MURPHY_VERSION_INFO@
892 libbreedline_glib_la_LIBADD = $(GLIB_LIBS)
894 libbreedline_glib_la_DEPENDENCIES = linker-script.breedline-glib
896 libbreedline_glibincludedir = $(includedir)/breedline
897 libbreedline_glibinclude_HEADERS = $(libbreedline_glib_la_HEADERS)
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 $@ $^
905 clean-linker-script::
906 -rm -f linker-script.breedline-glib
908 generate-linker-scripts: linker-script.breedline-glib
910 ###################################
911 # murphy resource external library
913 # TODO: put this under conditional compilation
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
919 libmurphy_resource_ladir = \
920 $(includedir)/murphy/plugins/resource-native/libmurphy-resource
922 libmurphy_resource_la_HEADERS = \
923 plugins/resource-native/libmurphy-resource/resource-api.h \
924 plugins/resource-native/libmurphy-resource/resource-private.h
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
934 libmurphy_resource_la_CFLAGS = \
937 libmurphy_resource_la_LDFLAGS = \
938 -Wl,-version-script=linker-script.resource \
939 -version-info @MURPHY_VERSION_INFO@
941 libmurphy_resource_la_LIBADD = \
944 libmurphy_resource_la_DEPENDENCIES = \
945 libmurphy-common.la \
946 linker-script.resource
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 $@ $^
953 clean-linker-script::
954 -rm -f linker-script.resource
956 generate-linker-scripts: linker-script.resource
960 bin_PROGRAMS += resource-api-test
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
967 bin_PROGRAMS += resource-api-fuzz
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
973 ###################################
978 BUILTIN_CFLAGS = -D__MURPHY_BUILTIN_PLUGIN__ $(AM_CFLAGS)
984 plugindir = $(libdir)/murphy/plugins
988 TEST_PLUGIN_SOURCES = plugins/plugin-test.c
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)
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)
1003 plugin_LTLIBRARIES += plugin-test.la
1009 DBUS_PLUGIN_SOURCES = plugins/plugin-dbus.c
1010 DBUS_PLUGIN_CFLAGS = $(DBUS_CFLAGS)
1011 DBUS_PLUGIN_LIBS = libmurphy-dbus.la $(DBUS_LIBS)
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)
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)
1024 plugin_LTLIBRARIES += plugin-dbus.la
1031 GLIB_PLUGIN_SOURCES = plugins/plugin-glib.c
1032 GLIB_PLUGIN_CFLAGS = $(GLIB_CFLAGS)
1033 GLIB_PLUGIN_LIBS = $(GLIB_LIBS)
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)
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)
1046 plugin_LTLIBRARIES += plugin-glib.la
1051 # resource-dbus plugin
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 \
1058 libmurphy-common.la \
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)
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
1077 # resource-wrt plugin
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 =
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)
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
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
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 =
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)
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)
1128 plugin_LTLIBRARIES += plugin-console.la
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 $@ $^
1136 -rm plugin-console-func-info.c
1139 # native resource plugin
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 = \
1149 PLUGIN_RESOURCE_NATIVE_LIBS = \
1150 libmurphy-common.la \
1151 $(RESOURCE_LIBRARY) \
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) \
1158 plugin_resource_native_la_LDFLAGS = -module -avoid-version
1159 plugin_resource_native_la_LIBADD = $(PLUGIN_RESOURCE_NATIVE_LIBS)
1161 plugin_LTLIBRARIES += plugin-resource-native.la
1164 bin_PROGRAMS += resource-client
1166 resource_client_SOURCES = plugins/resource-native/resource-client.c
1167 resource_client_CFLAGS = $(AM_CFLAGS)
1168 resource_client_LDADD = libmurphy-common.la
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 $@ $^
1175 -rm plugin-resource-native-func-info.c
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
1188 DOMAIN_CONTROL_PLUGIN_CFLAGS =
1189 DOMAIN_CONTROL_PLUGIN_LIBS =
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)
1198 libmurphy_plugin_domain_control_ladir = \
1199 $(includedir)/murphy/domain-control
1201 libmurphy_plugin_domain_control_la_SOURCES = \
1202 $(DOMAIN_CONTROL_PLUGIN_SOURCES) \
1203 $(DOMAIN_CONTROL_PLUGIN_LOADER)
1205 libmurphy_plugin_domain_control_la_CFLAGS = \
1206 $(DOMAIN_CONTROL_PLUGIN_CFLAGS) \
1210 libmurphy_plugin_domain_control_la_LDFLAGS = \
1211 -Wl,-version-script=linker-script.domain-control \
1212 -version-info @MURPHY_VERSION_INFO@
1214 libmurphy_plugin_domain_control_la_LIBADD = \
1216 libmurphy-common.la \
1217 murphy-db/mql/libmql.la \
1218 murphy-db/mqi/libmqi.la \
1219 murphy-db/mdb/libmdb.la
1221 libmurphy_plugin_domain_control_la_DEPENDENCIES = \
1222 linker-script.domain-control \
1223 $(filter %.la, $(libmurphy_plugin_domain_control_la_LIBADD))
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
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
1239 libmurphy_domain_controller_ladir = \
1240 $(includedir)/murphy/domain-control
1242 libmurphy_domain_controller_la_HEADERS = \
1243 plugins/domain-control/client.h
1245 libmurphy_domain_controller_la_SOURCES = \
1246 plugins/domain-control/client.c \
1247 plugins/domain-control/message.c
1248 libmurphy_domain_controller_la_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
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
1263 # test domain controller (disabled until we have a readline replacement)
1264 bin_PROGRAMS += test-domain-controller
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 \
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 $@ $^
1279 clean-linker-script::
1280 -rm -f linker-script.domain-control
1282 generate-linker-scripts: linker-script.domain-control
1286 LUA_PLUGIN_SOURCES = plugins/plugin-lua.c
1287 LUA_PLUGIN_CFLAGS = $(AM_CFLAGS) $(LUA_CFLAGS)
1288 LUA_PLUGIN_LIBS = $(LUA_LIBS)
1291 if BUILTIN_PLUGIN_LUA
1292 BUILTIN_PLUGINS += $(LUA_PLUGIN_SOURCES)
1293 BUILTIN_CFLAGS += $(LUA_PLUGIN_CFLAGS)
1294 BUILTIN_LIBS += $(LUA_PLUGIN_LIBS)
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)
1302 plugin_LTLIBRARIES += plugin-lua.la
1305 # systemd (logging) plugin
1307 SYSTEMD_PLUGIN_SOURCES = plugins/plugin-systemd.c
1308 SYSTEMD_PLUGIN_CFLAGS = $(SYSTEMD_CFLAGS)
1309 SYSTEMD_PLUGIN_LIBS = $(SYSTEMD_LIBS)
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)
1317 plugin_systemd_la_SOURCES = $(SYSTEMD_PLUGIN_SOURCES)
1318 plugin_systemd_la_CFLAGS = $(SYSTEMD_PLUGIN_CFLAGS) \
1321 plugin_systemd_la_LDFLAGS = -module -avoid-version
1322 plugin_systemd_la_LIBADD = $(SYSTEMD_PLUGIN_LIBS)
1324 plugin_LTLIBRARIES += plugin-systemd.la
1330 ###################################
1334 bin_PROGRAMS += murphyd
1335 EXTRA_DIST += $(config_DATA)
1336 configdir = $(sysconfdir)/murphy
1337 config_DATA = daemon/murphy.conf
1342 $(BUILTIN_PLUGINS) \
1343 load-linkedin-plugins.c
1352 $(LINKEDIN_PLUGINS) \
1353 $(RESOURCE_LIBRARY) \
1354 libmurphy-resolver.la \
1355 libmurphy-lua-decision.la \
1357 libmurphy-lua-utils.la \
1360 murphyd_LDFLAGS = -rdynamic
1364 ###################################
1365 # linkedin (DSO) loader generation
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 $@
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 $@
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')
1384 -rm -f linkedin-*-loader.[hc] load-linkedin-plugins.c
1386 ###################################
1387 # murphy console client
1391 bin_PROGRAMS += murphy-console
1393 murphy_console_SOURCES = \
1394 console-client/client.c
1396 murphy_console_CFLAGS = \
1399 murphy_console_LDADD = \
1400 libbreedline-murphy.la \
1405 murphy_console_LDADD += libmurphy-dbus.la
1408 murphy_console_LDFLAGS = -rdynamic
1411 generate-linker-scripts:
1412 $(MAKE) -C murphy-db $@
1415 clean-local:: # clean-linker-script clean-func-infos