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 = \
64 libmurphy_common_la_REGULAR_SOURCES = \
78 common/stream-transport.c \
79 common/internal-transport.c \
80 common/dgram-transport.c
82 libmurphy_common_la_SOURCES = \
83 $(libmurphy_common_la_REGULAR_SOURCES) \
86 libmurphy_common_la_CFLAGS = \
90 libmurphy_common_la_LDFLAGS = \
91 -Wl,-version-script=linker-script.common \
92 -version-info @MURPHY_VERSION_INFO@
94 libmurphy_common_la_LIBADD = \
98 libmurphy_common_la_DEPENDENCIES = linker-script.common
100 libcommonincludedir = $(includedir)/murphy/common
101 libcommoninclude_HEADERS = $(libmurphy_common_la_HEADERS)
103 if WEBSOCKETS_ENABLED
104 libmurphy_common_la_HEADERS += \
105 common/websocklib.h \
108 libmurphy_common_la_REGULAR_SOURCES += \
109 common/websocklib.c \
111 common/wsck-transport.c
113 libmurphy_common_la_CFLAGS += \
116 libmurphy_common_la_LIBADD += \
119 EXTRA_DIST += $(webconsole_DATA);
120 webconsoledir = $(datadir)/murphy/webconsole
122 plugins/console/console.js \
123 plugins/console/console.html
127 # linker script generation
128 linker-script.common: $(libmurphy_common_la_HEADERS)
129 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
130 -c "$(libmurphy_common_la_CFLAGS)" -o $@ $^
132 clean-linker-script::
133 -rm -f linker-script.common
135 generate-linker-scripts: linker-script.common
137 # debug file:line-function mapping generation
138 common-func-info.c: $(libmurphy_common_la_REGULAR_SOURCES)
139 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
142 -rm common-func-info.c
144 ###################################
145 # murphy lua utilities
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
152 libmurphy_lua_utils_ladir = \
153 $(includedir)/murphy/core/lua-utils
155 libmurphy_lua_utils_la_HEADERS = \
156 core/lua-utils/strarray.h \
157 core/lua-utils/funcbridge.h \
158 core/lua-utils/object.h \
159 core/lua-utils/error.h \
160 core/lua-utils/include.h
162 libmurphy_lua_utils_la_REGULAR_SOURCES = \
163 core/lua-utils/strarray.c \
164 core/lua-utils/funcbridge.c \
165 core/lua-utils/object.c \
166 core/lua-utils/error.c \
167 core/lua-utils/include.c
169 libmurphy_lua_utils_la_SOURCES = \
170 $(libmurphy_lua_utils_la_REGULAR_SOURCES) \
171 lua-utils-func-info.c
173 libmurphy_lua_utils_la_CFLAGS = \
177 libmurphy_lua_utils_la_LDFLAGS = \
178 -Wl,-version-script=linker-script.lua-utils \
179 -version-info @MURPHY_VERSION_INFO@
181 libmurphy_lua_utils_la_LIBADD = \
184 libmurphy_lua_utils_la_DEPENDENCIES = linker-script.lua-utils
186 # debug file:line-function mapping generation
187 lua-utils-func-info.c: $(libmurphy_lua_utils_la_REGULAR_SOURCES)
188 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
191 -rm lua-utils-func-info.c
193 # lua-utils linker script generation
194 linker-script.lua-utils: $(libmurphy_lua_utils_la_HEADERS)
195 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
196 -c "$(libmurphy_lua_utils_la_CFLAGS)" -o $@ $^
198 clean-linker-script::
199 -rm -f linker-script.lua-utils
201 generate-linker-scripts: linker-script.lua-utils
203 ###################################
204 # murphy lua decision network
207 lib_LTLIBRARIES += libmurphy-lua-decision.la
208 EXTRA_DIST += core/lua-decision/murphy-lua-decision.pc
209 pkgconfig_DATA += core/lua-decision/murphy-lua-decision.pc
211 libmurphy_lua_decision_ladir = \
212 $(includedir)/murphy/core/lua-decision
214 libmurphy_lua_decision_la_HEADERS = \
215 core/lua-decision/mdb.h \
216 core/lua-decision/element.h
218 libmurphy_lua_decision_la_REGULAR_SOURCES = \
219 core/lua-decision/mdb.c \
220 core/lua-decision/element.c
222 libmurphy_lua_decision_la_SOURCES = \
223 $(libmurphy_lua_decision_la_REGULAR_SOURCES) \
224 lua-decision-func-info.c
226 libmurphy_lua_decision_la_CFLAGS = \
230 libmurphy_lua_decision_la_LDFLAGS = \
231 -Wl,-version-script=linker-script.lua-decision \
232 -version-info @MURPHY_VERSION_INFO@
234 libmurphy_lua_decision_la_LIBADD = \
237 libmurphy_lua_decision_la_DEPENDENCIES = linker-script.lua-decision
239 # debug file:line-function mapping generation
240 lua-decision-func-info.c: $(libmurphy_lua_decision_la_REGULAR_SOURCES)
241 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
244 -rm lua-decision-func-info.c
246 # lua-decision linker script generation
247 linker-script.lua-decision: $(libmurphy_lua_decision_la_HEADERS)
248 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
249 -c "$(libmurphy_lua_decision_la_CFLAGS)" -o $@ $^
251 clean-linker-script::
252 -rm -f linker-script.lua-decision
254 generate-linker-scripts: linker-script.lua-decision
256 ###################################
257 # murphy core library
260 lib_LTLIBRARIES += libmurphy-core.la
261 EXTRA_DIST += core/murphy-core.pc
262 pkgconfig_DATA += core/murphy-core.pc
264 LUA_BINDINGS_SOURCES = \
265 core/lua-bindings/lua-murphy.c \
266 core/lua-bindings/lua-lua.c \
267 core/lua-bindings/lua-plugin.c \
268 core/lua-bindings/lua-log.c \
269 core/lua-bindings/lua-console.c \
270 core/lua-bindings/lua-bitwise.c \
271 core/lua-bindings/lua-json.c \
272 core/lua-bindings/lua-timer.c \
273 core/lua-bindings/lua-deferred.c \
274 core/lua-bindings/lua-sighandler.c \
275 core/lua-bindings/lua-transport.c
277 libmurphy_core_lua_bindings_ladir = \
278 $(includedir)/murphy/core/lua-bindings
280 libmurphy_core_lua_bindings_la_HEADERS = \
281 core/lua-bindings/murphy.h \
282 core/lua-bindings/lua-json.h
284 libmurphy_coreh_ladir = \
287 libmurphy_coreh_la_HEADERS = \
290 libmurphy_core_ladir = \
291 $(includedir)/murphy/core
293 libmurphy_core_la_HEADERS = \
296 core/console-command.h \
303 libmurphy_core_la_REGULAR_SOURCES = \
312 $(LUA_BINDINGS_SOURCES)
315 libmurphy_core_la_REGULAR_SOURCES += \
319 libmurphy_core_la_SOURCES = \
320 $(libmurphy_core_la_REGULAR_SOURCES) \
323 libmurphy_core_la_CFLAGS = \
329 libmurphy_core_la_LDFLAGS = \
330 -Wl,-version-script=linker-script.core \
331 -version-info @MURPHY_VERSION_INFO@
333 libmurphy_core_la_LIBADD = \
334 libmurphy-common.la \
335 libmurphy-lua-decision.la \
336 libmurphy-lua-utils.la \
341 libmurphy_core_la_DEPENDENCIES = linker-script.core \
342 $(filter %.la, $(libmurphy_core_la_LIBADD))
344 # core linker script generation
345 linker-script.core: $(libmurphy_core_la_HEADERS) \
346 $(libmurphy_core_lua_bindings_la_HEADERS)
347 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
348 -c "$(libmurphy_core_la_CFLAGS)" -o $@ $^
350 clean-linker-script::
351 -rm -f linker-script.core
353 generate-linker-scripts: linker-script.core
355 # debug file:line-function mapping generation
356 core-func-info.c: $(libmurphy_core_la_REGULAR_SOURCES)
357 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
362 ###################################
363 # murphy dbus library
366 murphy_dbus_headers = \
368 common/dbus-transport.h
371 lib_LTLIBRARIES += libmurphy-dbus.la
372 EXTRA_DIST += common/murphy-dbus.pc
373 pkgconfig_DATA += common/murphy-dbus.pc
375 libmurphy_dbus_ladir = \
376 $(includedir)/murphy/common
378 libmurphy_dbus_la_HEADERS = $(murphy_dbus_headers)
381 libmurphy_dbus_la_REGULAR_SOURCES = \
384 common/dbus-transport.c
386 libmurphy_dbus_la_SOURCES = \
387 $(libmurphy_dbus_la_REGULAR_SOURCES) \
390 libmurphy_dbus_la_CFLAGS = \
394 libmurphy_dbus_la_LDFLAGS = \
395 -Wl,-version-script=linker-script.dbus \
396 -version-info @MURPHY_VERSION_INFO@
398 libmurphy_dbus_la_LIBADD = \
401 libmurphy_dbus_la_DEPENDENCIES = linker-script.dbus
403 libdbusincludedir = $(includedir)/murphy/dbus
404 libdbusinclude_HEADERS = $(libmurphy_dbus_la_HEADERS)
406 # debug file:line-function mapping generation
407 dbus-func-info.c: $(libmurphy_dbus_la_REGULAR_SOURCES)
408 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
414 # linker script generation
415 linker-script.dbus: $(murphy_dbus_headers)
416 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
417 -c "$(libmurphy_dbus_la_CFLAGS)" -o $@ $^
419 clean-linker-script::
420 -rm -f linker-script.dbus
422 generate-linker-scripts: linker-script.dbus
425 ###################################
426 # murphy pulse glue library
429 murphy_pulse_headers = \
433 lib_LTLIBRARIES += libmurphy-pulse.la
434 EXTRA_DIST += common/murphy-pulse.pc
435 pkgconfig_DATA += common/murphy-pulse.pc
437 libmurphy_pulse_ladir = \
438 $(includedir)/murphy/common
440 libmurphy_pulse_la_HEADERS = $(murphy_pulse_headers)
442 libmurphy_pulse_la_SOURCES = \
445 libmurphy_pulse_la_CFLAGS = \
449 libmurphy_pulse_la_LDFLAGS = \
450 -Wl,-version-script=linker-script.pulse \
451 -version-info @MURPHY_VERSION_INFO@
453 libmurphy_pulse_la_LIBADD =
455 libmurphy_pulse_la_DEPENDENCIES = linker-script.pulse
457 libpulseincludedir = $(includedir)/murphy/pulse
458 libpulseinclude_HEADERS = $(libmurphy_pulse_la_HEADERS)
461 # linker script generation
462 linker-script.pulse: $(murphy_pulse_headers)
463 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
464 -c "$(libmurphy_pulse_la_CFLAGS)" -o $@ $^
466 clean-linker-script::
467 -rm -f linker-script.pulse
469 generate-linker-scripts: linker-script.pulse
471 ###################################
472 # murphy ecore glue library
475 murphy_ecore_headers = \
479 lib_LTLIBRARIES += libmurphy-ecore.la
480 EXTRA_DIST += common/murphy-ecore.pc
481 pkgconfig_DATA += common/murphy-ecore.pc
483 libmurphy_ecore_ladir = \
484 $(includedir)/murphy/common
486 libmurphy_ecore_la_HEADERS = $(murphy_ecore_headers)
488 libmurphy_ecore_la_SOURCES = \
491 libmurphy_ecore_la_CFLAGS = \
495 libmurphy_ecore_la_LDFLAGS = \
496 -Wl,-version-script=linker-script.ecore \
497 -version-info @MURPHY_VERSION_INFO@
499 libmurphy_ecore_la_LIBADD =
501 libmurphy_ecore_la_DEPENDENCIES = linker-script.ecore
503 libecoreincludedir = $(includedir)/murphy/ecore
504 libecoreinclude_HEADERS = $(libmurphy_ecore_la_HEADERS)
507 # linker script generation
508 linker-script.ecore: $(murphy_ecore_headers)
509 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
510 -c "$(libmurphy_ecore_la_CFLAGS)" -o $@ $^
512 clean-linker-script::
513 -rm -f linker-script.ecore
515 generate-linker-scripts: linker-script.ecore
517 ###################################
518 # murphy glib glue library
521 murphy_glib_headers = \
525 lib_LTLIBRARIES += libmurphy-glib.la
526 EXTRA_DIST += common/murphy-glib.pc
527 pkgconfig_DATA += common/murphy-glib.pc
529 libmurphy_glib_ladir = \
530 $(includedir)/murphy/common
532 libmurphy_glib_la_HEADERS = $(murphy_glib_headers)
534 libmurphy_glib_la_SOURCES = \
537 libmurphy_glib_la_CFLAGS = \
541 libmurphy_glib_la_LDFLAGS = \
542 -Wl,-version-script=linker-script.glib \
543 -version-info @MURPHY_VERSION_INFO@
545 libmurphy_glib_la_LIBADD =
547 libmurphy_glib_la_DEPENDENCIES = linker-script.glib
549 libglibincludedir = $(includedir)/murphy/glib
550 libglibinclude_HEADERS = $(libmurphy_glib_la_HEADERS)
553 # linker script generation
554 linker-script.glib: $(murphy_glib_headers)
555 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
556 -c "$(libmurphy_glib_la_CFLAGS)" -o $@ $^
558 clean-linker-script::
559 -rm -f linker-script.glib
561 generate-linker-scripts: linker-script.glib
563 ###################################
564 # murphy qt glue library
567 murphy_qt_headers = \
571 lib_LTLIBRARIES += libmurphy-qt.la
572 EXTRA_DIST += common/murphy-qt.pc
573 pkgconfig_DATA += common/murphy-qt.pc
575 BUILT_SOURCES += common/qt-glue-priv.moc.h
577 libmurphy_qt_ladir = \
578 $(includedir)/murphy/common
580 libmurphy_qt_la_HEADERS = $(murphy_qt_headers)
582 libmurphy_qt_la_SOURCES = \
585 libmurphy_qt_la_CPPFLAGS = \
589 libmurphy_qt_la_LDFLAGS = \
590 -Wl,-version-script=linker-script.qt \
591 -version-info @MURPHY_VERSION_INFO@
593 libmurphy_qt_la_LIBADD = $(QTCORE_LIBS)
595 libmurphy_qt_la_DEPENDENCIES = linker-script.qt
597 libqtincludedir = $(includedir)/murphy/qt
598 libqtinclude_HEADERS = $(libmurphy_qt_la_HEADERS)
600 # run moc to generate Qt meta objects
601 common/qt-glue-priv.moc.h: common/qt-glue-priv.h
602 $(QUIET_GEN)$(QT_MOC) -DQT_ENABLED=1 $< -o$@
605 # linker script generation
606 linker-script.qt: $(murphy_qt_headers)
607 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
608 -c "$(libmurphy_qt_la_CPPFLAGS) -DQT_ENABLED=1" -o $@ $^
610 clean-linker-script::
611 -rm -f linker-script.qt
613 generate-linker-scripts: linker-script.qt
615 ###################################
616 # murphy resolver library
619 lib_LTLIBRARIES += libmurphy-resolver.la
620 EXTRA_DIST += resolver/murphy-resolver.pc
621 pkgconfig_DATA += resolver/murphy-resolver.pc
623 BUILT_SOURCES += resolver/scanner.c resolver/parser.c
625 libmurphy_resolver_ladir = \
626 $(includedir)/murphy/resolver
628 libmurphy_resolver_la_HEADERS = \
631 SIMPLE_SCRIPT_SOURCES = \
632 resolver/scripting/simple/simple-script.c \
633 resolver/scripting/simple/simple-scanner.c \
634 resolver/scripting/simple/simple-parser.c \
635 resolver/scripting/simple/call.c \
636 resolver/scripting/simple/builtins.c
638 libmurphy_resolver_la_REGULAR_SOURCES = \
639 resolver/resolver.c \
643 resolver/target-sorter.c \
647 $(SIMPLE_SCRIPT_SOURCES)
649 libmurphy_resolver_la_SOURCES = \
650 $(libmurphy_resolver_la_REGULAR_SOURCES) \
653 libmurphy_resolver_la_CFLAGS = \
657 libmurphy_resolver_la_LDFLAGS = \
658 -Wl,-version-script=linker-script.resolver \
659 -version-info @MURPHY_VERSION_INFO@
661 libmurphy_resolver_la_LIBADD = \
663 libmurphy-common.la \
664 murphy-db/mql/libmql.la \
665 murphy-db/mqi/libmqi.la \
666 murphy-db/mdb/libmdb.la
668 libmurphy_resolver_la_DEPENDENCIES = linker-script.resolver \
669 $(filter %.la, $(libmurphy_resolver_la_LIBADD))
671 # resolver lexical analyser and parser generation
672 RESOLVER_PARSER_PREFIX = yy_res_
674 resolver/scanner.c: resolver/scanner.l resolver/parser.c
675 $(LEXCOMPILE) -P $(RESOLVER_PARSER_PREFIX) $<
676 mv lex.$(RESOLVER_PARSER_PREFIX).c $@
678 resolver/parser.h resolver/parser.c: resolver/parser.y
679 $(YACCCOMPILE) -p $(RESOLVER_PARSER_PREFIX) $< -o resolver/parser.c
681 # debug file:line-function mapping generation
682 resolver-func-info.c: $(libmurphy_resolver_la_REGULAR_SOURCES)
683 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
686 -rm resolver-func-info.c
688 # resolver linker script generation
689 linker-script.resolver: $(libmurphy_resolver_la_HEADERS)
690 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
691 -c "$(libmurphy_resolver_la_CFLAGS)" -o $@ $^
693 clean-linker-script::
694 -rm -f linker-script.resolver
697 generate-linker-scripts: linker-script.resolver
698 # simple interpreter lexical analyser and parser generation
699 SIMPLE_PARSER_PREFIX = yy_smpl_
700 BUILT_SOURCES += resolver/scripting/simple/simple-scanner.c \
701 resolver/scripting/simple/simple-parser.c
703 resolver/scripting/simple/simple-scanner.c: \
704 resolver/scripting/simple/simple-scanner.l \
705 resolver/scripting/simple/simple-parser.c
706 $(LEXCOMPILE) -P $(SIMPLE_PARSER_PREFIX) $<
707 mv lex.$(SIMPLE_PARSER_PREFIX).c $@
709 # simple interpreter parser generation
710 resolver/scripting/simple/simple-parser.h \
711 resolver/scripting/simple/simple-parser.c: \
712 resolver/scripting/simple/simple-parser.y
713 $(YACCCOMPILE) -p $(SIMPLE_PARSER_PREFIX) $< -o \
714 resolver/scripting/simple/simple-parser.c
716 ###################################
717 # murphy backend resource library
721 RESOURCE_LIBRARY = libmurphy-resource-backend.la
727 lib_LTLIBRARIES += $(RESOURCE_LIBRARY)
729 libmurphy_resource_backend_ladir = \
730 $(includedir)/murphy/resource
732 libmurphy_resource_backend_la_HEADERS = \
733 resource/data-types.h \
734 resource/common-api.h \
735 resource/client-api.h \
736 resource/manager-api.h \
737 resource/config-api.h \
740 libmurphy_resource_backend_la_REGULAR_SOURCES = \
741 resource/attribute.c \
742 resource/resource.c \
743 resource/resource-set.c \
744 resource/application-class.c \
745 resource/resource-owner.c \
746 resource/resource-client.c \
748 resource/config-lua.c \
749 resource/resource-lua.c \
750 resource/lua-resource.c
752 libmurphy_resource_backend_la_SOURCES = \
753 $(libmurphy_resource_backend_la_REGULAR_SOURCES) \
756 libmurphy_resource_backend_la_CFLAGS = \
760 libmurphy_resource_backend_la_LDFLAGS = \
761 -Wl,-version-script=linker-script.resource_backend \
762 -version-info @MURPHY_VERSION_INFO@
764 libmurphy_resource_backend_la_LIBADD = \
766 libmurphy-common.la \
767 murphy-db/mql/libmql.la \
768 murphy-db/mqi/libmqi.la \
769 murphy-db/mdb/libmdb.la \
772 libmurphy_resource_backend_la_DEPENDENCIES = linker-script.resource_backend \
773 $(filter %.la, $(libmurphy_resource_backend_la_LIBADD))
775 # debug file:line-function mapping generation
776 resource-func-info.c: $(libmurphy_resource_backend_la_REGULAR_SOURCES)
777 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
780 -rm resource-func-info.c
783 # resource linker script generation
784 linker-script.resource_backend: $(libmurphy_resource_backend_la_HEADERS)
785 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
786 -c "$(libmurphy_resource_backend_la_CFLAGS)" -o $@ $^
788 clean-linker-script::
789 -rm -f linker-script.resource_backend
791 generate-linker-scripts: linker-script.resource_backend
793 ##########################
794 # readline replacement
796 lib_LTLIBRARIES += libbreedline.la
797 EXTRA_DIST += breedline/breedline.pc
798 pkgconfig_DATA += breedline/breedline.pc
800 libbreedline_ladir = \
801 $(includedir)/breedline
803 libbreedline_la_HEADERS = \
804 breedline/breedline.h \
807 libbreedline_la_SOURCES = \
808 breedline/breedline.c
810 libbreedline_la_CFLAGS = \
813 libbreedline_la_LDFLAGS = \
814 -Wl,-version-script=linker-script.breedline \
815 -version-info @MURPHY_VERSION_INFO@
817 libbreedline_la_LIBADD =
819 libbreedline_la_DEPENDENCIES = linker-script.breedline
821 libbreedlineincludedir = $(includedir)/breedline
822 libbreedlineinclude_HEADERS = $(libbreedline_la_HEADERS)
824 # linker script generation
825 linker-script.breedline: $(libbreedline_la_HEADERS)
826 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
827 -c "$(libbreedline_la_CFLAGS)" -p '^brl_' -o $@ $^
829 clean-linker-script::
830 -rm -f linker-script.breedline
832 generate-linker-scripts: linker-script.breedline
834 ##########################
835 # breedline murphy glue library
837 lib_LTLIBRARIES += libbreedline-murphy.la
838 EXTRA_DIST += breedline/breedline-murphy.pc
839 pkgconfig_DATA += breedline/breedline-murphy.pc
841 libbreedline_murphy_ladir = $(includedir)/breedline
843 libbreedline_murphy_la_HEADERS = breedline/breedline-murphy.h
844 libbreedline_murphy_la_SOURCES = breedline/breedline-murphy.c
845 libbreedline_murphy_la_CFLAGS = $(AM_CFLAGS)
847 libbreedline_murphy_la_LDFLAGS = \
848 -Wl,-version-script=linker-script.breedline-murphy \
849 -version-info @MURPHY_VERSION_INFO@
851 libbreedline_murphy_la_LIBADD = libmurphy-common.la
853 libbreedline_murphy_la_DEPENDENCIES = linker-script.breedline-murphy \
854 $(filter %.la,$(libbreedline_murphy_la_LIBADD))
856 libbreedline_murphyincludedir = $(includedir)/breedline
857 libbreedline_murphyinclude_HEADERS = $(libbreedline_murphy_la_HEADERS)
859 # linker script generation
860 linker-script.breedline-murphy: $(libbreedline_murphy_la_HEADERS)
861 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
862 -c "$(libbreedline_murphy_la_CFLAGS)" -p '^brl_' -o $@ $^
864 clean-linker-script::
865 -rm -f linker-script.breedline-murphy
867 generate-linker-scripts: linker-script.breedline-murphy
869 ##########################
870 # breedline glib glue library
873 breedline_glib_headers = \
874 breedline/breedline-glib.h
877 lib_LTLIBRARIES += libbreedline-glib.la
878 EXTRA_DIST += breedline/breedline-glib.pc
879 pkgconfig_DATA += breedline/breedline-glib.pc
881 libbreedline_glib_ladir = $(includedir)/breedline
883 libbreedline_glib_la_HEADERS = $(breedline_glib_headers)
884 libbreedline_glib_la_SOURCES = breedline/breedline-glib.c
885 libbreedline_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB_CFLAGS)
887 libbreedline_glib_la_LDFLAGS = \
888 -Wl,-version-script=linker-script.breedline-glib \
889 -version-info @MURPHY_VERSION_INFO@
891 libbreedline_glib_la_LIBADD = $(GLIB_LIBS)
893 libbreedline_glib_la_DEPENDENCIES = linker-script.breedline-glib
895 libbreedline_glibincludedir = $(includedir)/breedline
896 libbreedline_glibinclude_HEADERS = $(libbreedline_glib_la_HEADERS)
899 # linker script generation
900 linker-script.breedline-glib: $(breedline_glib_headers)
901 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
902 -c "$(libbreedline_glib_la_CFLAGS)" -p '^brl_' -o $@ $^
904 clean-linker-script::
905 -rm -f linker-script.breedline-glib
907 generate-linker-scripts: linker-script.breedline-glib
909 ###################################
910 # murphy resource external library
912 # TODO: put this under conditional compilation
914 lib_LTLIBRARIES += libmurphy-resource.la
915 EXTRA_DIST += plugins/resource-native/libmurphy-resource/murphy-resource.pc
916 pkgconfig_DATA += plugins/resource-native/libmurphy-resource/murphy-resource.pc
918 libmurphy_resource_ladir = \
919 $(includedir)/murphy/plugins/resource-native/libmurphy-resource
921 libmurphy_resource_la_HEADERS = \
922 plugins/resource-native/libmurphy-resource/resource-api.h \
923 plugins/resource-native/libmurphy-resource/resource-private.h
925 libmurphy_resource_la_SOURCES = \
926 plugins/resource-native/libmurphy-resource/resource.c \
927 plugins/resource-native/libmurphy-resource/attribute.c \
928 plugins/resource-native/libmurphy-resource/rset.c \
929 plugins/resource-native/libmurphy-resource/string_array.c \
930 plugins/resource-native/libmurphy-resource/message.c \
931 plugins/resource-native/libmurphy-resource/resource-log.c
933 libmurphy_resource_la_CFLAGS = \
936 libmurphy_resource_la_LDFLAGS = \
937 -Wl,-version-script=linker-script.resource \
938 -version-info @MURPHY_VERSION_INFO@
940 libmurphy_resource_la_LIBADD = \
943 libmurphy_resource_la_DEPENDENCIES = \
944 libmurphy-common.la \
945 linker-script.resource
947 # linker script generation
948 linker-script.resource: $(libmurphy_resource_la_HEADERS)
949 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
950 -c "$(libmurphy_resource_la_CFLAGS)" -o $@ $^
952 clean-linker-script::
953 -rm -f linker-script.resource
955 generate-linker-scripts: linker-script.resource
959 bin_PROGRAMS += resource-api-test
961 resource_api_test_SOURCES = plugins/resource-native/libmurphy-resource/api_test.c
962 resource_api_test_CFLAGS = $(AM_CFLAGS)
963 resource_api_test_LDADD = libmurphy-common.la libmurphy-resource.la
966 bin_PROGRAMS += resource-api-fuzz
968 resource_api_fuzz_SOURCES = plugins/resource-native/libmurphy-resource/resource-fuzz.c
969 resource_api_fuzz_CFLAGS = $(AM_CFLAGS)
970 resource_api_fuzz_LDADD = libmurphy-common.la libmurphy-resource.la
972 ###################################
977 BUILTIN_CFLAGS = -D__MURPHY_BUILTIN_PLUGIN__ $(AM_CFLAGS)
983 plugindir = $(libdir)/murphy/plugins
987 TEST_PLUGIN_SOURCES = plugins/plugin-test.c
991 if !DISABLED_PLUGIN_TEST
992 if BUILTIN_PLUGIN_TEST
993 BUILTIN_PLUGINS += $(TEST_PLUGIN_SOURCES)
994 BUILTIN_CFLAGS += $(TEST_PLUGIN_CFLAGS)
995 BUILTIN_LIBS += $(TEST_PLUGIN_LIBS)
997 plugin_test_la_SOURCES = $(TEST_PLUGIN_SOURCES)
998 plugin_test_la_CFLAGS = $(TEST_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
999 plugin_test_la_LDFLAGS = -module -avoid-version
1000 plugin_test_la_LIBADD = $(TEST_PLUGIN_LIBS)
1002 plugin_LTLIBRARIES += plugin-test.la
1008 DBUS_PLUGIN_SOURCES = plugins/plugin-dbus.c
1009 DBUS_PLUGIN_CFLAGS = $(DBUS_CFLAGS)
1010 DBUS_PLUGIN_LIBS = libmurphy-dbus.la $(DBUS_LIBS)
1012 if !DISABLED_PLUGIN_DBUS
1013 if BUILTIN_PLUGIN_DBUS
1014 BUILTIN_PLUGINS += $(DBUS_PLUGIN_SOURCES)
1015 BUILTIN_CFLAGS += $(DBUS_PLUGIN_CFLAGS)
1016 BUILTIN_LIBS += $(DBUS_PLUGIN_LIBS)
1018 plugin_dbus_la_SOURCES = $(DBUS_PLUGIN_SOURCES)
1019 plugin_dbus_la_CFLAGS = $(DBUS_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1020 plugin_dbus_la_LDFLAGS = -module -avoid-version
1021 plugin_dbus_la_LIBADD = $(DBUS_PLUGIN_LIBS)
1023 plugin_LTLIBRARIES += plugin-dbus.la
1030 GLIB_PLUGIN_SOURCES = plugins/plugin-glib.c
1031 GLIB_PLUGIN_CFLAGS = $(GLIB_CFLAGS)
1032 GLIB_PLUGIN_LIBS = $(GLIB_LIBS)
1034 if !DISABLED_PLUGIN_GLIB
1035 if BUILTIN_PLUGIN_GLIB
1036 BUILTIN_PLUGINS += $(GLIB_PLUGIN_SOURCES)
1037 BUILTIN_CFLAGS += $(GLIB_PLUGIN_CFLAGS)
1038 BUILTIN_LIBS += $(GLIB_PLUGIN_LIBS)
1040 plugin_glib_la_SOURCES = $(GLIB_PLUGIN_SOURCES)
1041 plugin_glib_la_CFLAGS = $(GLIB_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1042 plugin_glib_la_LDFLAGS = -module -avoid-version
1043 plugin_glib_la_LIBADD = $(GLIB_PLUGIN_LIBS)
1045 plugin_LTLIBRARIES += plugin-glib.la
1050 # resource-dbus plugin
1053 RESOURCE_DBUS_PLUGIN_SOURCES = plugins/plugin-resource-dbus.c
1054 RESOURCE_DBUS_PLUGIN_CFLAGS = $(DBUS_CFLAGS)
1055 RESOURCE_DBUS_PLUGIN_LIBS = libmurphy-dbus.la \
1057 libmurphy-common.la \
1060 if !DISABLED_PLUGIN_RESOURCE_DBUS
1061 if BUILTIN_PLUGIN_RESOURCE_DBUS
1062 BUILTIN_PLUGINS += $(RESOURCE_DBUS_PLUGIN_SOURCES)
1063 BUILTIN_CFLAGS += $(RESOURCE_DBUS_PLUGIN_CFLAGS)
1064 BUILTIN_LIBS += $(RESOURCE_DBUS_PLUGIN_LIBS)
1066 plugin_resource_dbus_la_SOURCES = $(RESOURCE_DBUS_PLUGIN_SOURCES)
1067 plugin_resource_dbus_la_CFLAGS = $(RESOURCE_DBUS_PLUGIN_CFLAGS) $(MURPHY_CFLAGS) $(AM_CFLAGS)
1068 plugin_resource_dbus_la_LDFLAGS = -module -avoid-version
1069 plugin_resource_dbus_la_LIBADD = $(RESOURCE_DBUS_PLUGIN_LIBS)
1070 plugin_LTLIBRARIES += plugin-resource-dbus.la
1076 # resource-wrt plugin
1078 if WEBSOCKETS_ENABLED
1079 RESOURCE_WRT_PLUGIN_SOURCES = plugins/resource-wrt/plugin-resource-wrt.c
1080 RESOURCE_WRT_PLUGIN_CFLAGS = $(WEBSOCKETS_CFLAGS)
1081 RESOURCE_WRT_PLUGIN_LIBS =
1083 if !DISABLED_PLUGIN_RESOURCE_WRT
1084 if BUILTIN_PLUGIN_RESOURCE_WRT
1085 BUILTIN_PLUGINS += $(RESOURCE_WRT_PLUGIN_SOURCES)
1086 BUILTIN_CFLAGS += $(RESOURCE_WRT_PLUGIN_CFLAGS)
1087 BUILTIN_LIBS += $(RESOURCE_WRT_PLUGIN_LIBS)
1089 plugin_resource_wrt_la_SOURCES = $(RESOURCE_WRT_PLUGIN_SOURCES)
1090 plugin_resource_wrt_la_CFLAGS = $(RESOURCE_WRT_PLUGIN_CFLAGS) \
1091 $(MURPHY_CFLAGS) $(AM_CFLAGS)
1092 plugin_resource_wrt_la_LDFLAGS = -module -avoid-version
1093 plugin_resource_wrt_la_LIBADD = $(RESOURCE_WRT_PLUGIN_LIBS)
1094 plugin_LTLIBRARIES += plugin-resource-wrt.la
1096 EXTRA_DIST += $(resource_wrt_DATA);
1097 resource_wrtdir = $(datadir)/murphy/resource-wrt
1098 resource_wrt_DATA = \
1099 plugins/resource-wrt/resource-api.js \
1100 plugins/resource-wrt/resource-test.html
1108 CONSOLE_PLUGIN_REGULAR_SOURCES = plugins/console/plugin-console.c
1109 CONSOLE_PLUGIN_SOURCES = $(CONSOLE_PLUGIN_REGULAR_SOURCES) \
1110 plugin-console-func-info.c
1111 CONSOLE_PLUGIN_CFLAGS =
1112 CONSOLE_PLUGIN_LIBS =
1115 if !DISABLED_PLUGIN_CONSOLE
1116 if BUILTIN_PLUGIN_CONSOLE
1117 BUILTIN_PLUGINS += $(CONSOLE_PLUGIN_SOURCES)
1118 BUILTIN_CFLAGS += $(CONSOLE_PLUGIN_CFLAGS)
1119 BUILTIN_LIBS += $(CONSOLE_PLUGIN_LIBS)
1121 plugin_console_la_SOURCES = $(CONSOLE_PLUGIN_SOURCES)
1122 plugin_console_la_CFLAGS = $(CONSOLE_PLUGIN_CFLAGS) \
1123 $(MURPHY_CFLAGS) $(AM_CFLAGS)
1124 plugin_console_la_LDFLAGS = -module -avoid-version
1125 plugin_console_la_LIBADD = $(CONSOLE_PLUGIN_LIBS)
1127 plugin_LTLIBRARIES += plugin-console.la
1130 # debug file:line-function mapping generation
1131 plugin-console-func-info.c: $(CONSOLE_PLUGIN_REGULAR_SOURCES)
1132 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
1135 -rm plugin-console-func-info.c
1138 # native resource plugin
1140 PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES = \
1141 plugins/resource-native/plugin-resource-native.c
1142 PLUGIN_RESOURCE_NATIVE_SOURCES = \
1143 $(PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES) \
1144 plugin-resource-native-func-info.c
1145 PLUGIN_RESOURCE_NATIVE_CFLAGS = \
1148 PLUGIN_RESOURCE_NATIVE_LIBS = \
1149 libmurphy-common.la \
1150 $(RESOURCE_LIBRARY) \
1153 plugin_resource_native_la_SOURCES = $(PLUGIN_RESOURCE_NATIVE_SOURCES)
1154 plugin_resource_native_la_CFLAGS = $(PLUGIN_RESOURCE_NATIVE_CFLAGS) \
1155 $(MURPHY_CFLAGS) $(AM_CFLAGS) \
1157 plugin_resource_native_la_LDFLAGS = -module -avoid-version
1158 plugin_resource_native_la_LIBADD = $(PLUGIN_RESOURCE_NATIVE_LIBS)
1160 plugin_LTLIBRARIES += plugin-resource-native.la
1163 bin_PROGRAMS += resource-client
1165 resource_client_SOURCES = plugins/resource-native/resource-client.c
1166 resource_client_CFLAGS = $(AM_CFLAGS)
1167 resource_client_LDADD = libmurphy-common.la
1169 # debug file:line-function mapping generation
1170 plugin-resource-native-func-info.c: $(PLUGIN_RESOURCE_NATIVE_REGULAR_SOURCES)
1171 $(QUIET_GEN)$(top_builddir)/build-aux/gen-debug-table -o $@ $^
1174 -rm plugin-resource-native-func-info.c
1177 # domain control plugin
1178 DOMAIN_CONTROL_PLUGIN_SOURCES = plugins/domain-control/plugin-domain-control.c \
1179 plugins/domain-control/domain-control.c \
1180 plugins/domain-control/proxy.c \
1181 plugins/domain-control/table.c \
1182 plugins/domain-control/notify.c \
1183 plugins/domain-control/message.c
1184 DOMAIN_CONTROL_PLUGIN_LOADER = linkedin-domain-control-loader.c
1187 DOMAIN_CONTROL_PLUGIN_CFLAGS =
1188 DOMAIN_CONTROL_PLUGIN_LIBS =
1190 if !DISABLED_PLUGIN_DOMAIN_CONTROL
1191 if BUILTIN_PLUGIN_DOMAIN_CONTROL
1192 LINKEDIN_PLUGINS += libmurphy-plugin-domain-control.la
1193 lib_LTLIBRARIES += libmurphy-plugin-domain-control.la
1194 DOMAIN_CONTROL_PLUGIN_CFLAGS += $(BUILTIN_CFLAGS)
1197 libmurphy_plugin_domain_control_ladir = \
1198 $(includedir)/murphy/domain-control
1200 libmurphy_plugin_domain_control_la_SOURCES = \
1201 $(DOMAIN_CONTROL_PLUGIN_SOURCES) \
1202 $(DOMAIN_CONTROL_PLUGIN_LOADER)
1204 libmurphy_plugin_domain_control_la_CFLAGS = \
1205 $(DOMAIN_CONTROL_PLUGIN_CFLAGS) \
1209 libmurphy_plugin_domain_control_la_LDFLAGS = \
1210 -Wl,-version-script=linker-script.domain-control \
1211 -version-info @MURPHY_VERSION_INFO@
1213 libmurphy_plugin_domain_control_la_LIBADD = \
1215 libmurphy-common.la \
1216 murphy-db/mql/libmql.la \
1217 murphy-db/mqi/libmqi.la \
1218 murphy-db/mdb/libmdb.la
1220 libmurphy_plugin_domain_control_la_DEPENDENCIES = \
1221 linker-script.domain-control \
1222 $(filter %.la, $(libmurphy_plugin_domain_control_la_LIBADD))
1224 plugin_domain_control_la_SOURCES = $(DOMAIN_CONTROL_PLUGIN_SOURCES)
1225 plugin_domain_control_la_CFLAGS = $(DOMAIN_CONTROL_PLUGIN_CFLAGS) \
1226 $(MURPHY_CFLAGS) $(AM_CFLAGS)
1227 plugin_domain_control_la_LDFLAGS = -module -avoid-version
1228 plugin_domain_control_la_LIBADD = $(DOMAIN_CONTROL_PLUGIN_LIBS)
1229 plugin_LTLIBRARIES += plugin-domain-control.la
1233 # domain controller client library
1234 lib_LTLIBRARIES += libmurphy-domain-controller.la
1235 EXTRA_DIST += plugins/domain-control/murphy-domain-controller.pc
1236 pkgconfig_DATA += plugins/domain-control/murphy-domain-controller.pc
1238 libmurphy_domain_controller_ladir = \
1239 $(includedir)/murphy/domain-control
1241 libmurphy_domain_controller_la_HEADERS = \
1242 plugins/domain-control/client.h
1244 libmurphy_domain_controller_la_SOURCES = \
1245 plugins/domain-control/client.c \
1246 plugins/domain-control/message.c
1247 libmurphy_domain_controller_la_CFLAGS = \
1249 libmurphy_domain_controller_la_LIBADD = libmurphy-common.la \
1250 murphy-db/mql/libmql.la \
1251 murphy-db/mqi/libmqi.la \
1252 murphy-db/mdb/libmdb.la
1254 if WEBSOCKETS_ENABLED
1255 EXTRA_DIST += $(domain_control_DATA)
1256 domain_controldir = $(datadir)/murphy/domain-control
1257 domain_control_DATA = \
1258 plugins/domain-control/domain-control-api.js \
1259 plugins/domain-control/domain-control-test.html
1262 # test domain controller (disabled until we have a readline replacement)
1263 bin_PROGRAMS += test-domain-controller
1265 test_domain_controller_SOURCES = plugins/domain-control/test-client.c
1266 test_domain_controller_CFLAGS = $(AM_CFLAGS)
1267 test_domain_controller_LDADD = libmurphy-domain-controller.la \
1268 libbreedline-murphy.la \
1273 # linkedin domain control plugin linker script generation
1274 linker-script.domain-control: $(DOMAIN_CONTROL_PLUGIN_LOADER:%.c=%.h)
1275 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linker-script -q \
1276 -c "$(libmurphy_domain_controller_la_CFLAGS)" -o $@ $^
1278 clean-linker-script::
1279 -rm -f linker-script.domain-control
1281 generate-linker-scripts: linker-script.domain-control
1285 LUA_PLUGIN_SOURCES = plugins/plugin-lua.c
1286 LUA_PLUGIN_CFLAGS = $(AM_CFLAGS) $(LUA_CFLAGS)
1287 LUA_PLUGIN_LIBS = $(LUA_LIBS)
1290 if BUILTIN_PLUGIN_LUA
1291 BUILTIN_PLUGINS += $(LUA_PLUGIN_SOURCES)
1292 BUILTIN_CFLAGS += $(LUA_PLUGIN_CFLAGS)
1293 BUILTIN_LIBS += $(LUA_PLUGIN_LIBS)
1295 plugin_lua_la_SOURCES = plugins/plugin-lua.c
1296 plugin_lua_la_CFLAGS = $(LUA_PLUGIN_CFLAGS) \
1297 $(MURPHY_CFLAGS) $(AM_CFLAGS)
1298 plugin_lua_la_LDFLAGS = -module -avoid-version
1299 plugin_lua_la_LIBADD = $(LUA_PLUGIN_LIBS) $(LUA_LIBS)
1301 plugin_LTLIBRARIES += plugin-lua.la
1304 # systemd (logging) plugin
1306 SYSTEMD_PLUGIN_SOURCES = plugins/plugin-systemd.c
1307 SYSTEMD_PLUGIN_CFLAGS = $(SYSTEMD_CFLAGS)
1308 SYSTEMD_PLUGIN_LIBS = $(SYSTEMD_LIBS)
1310 if !DISABLED_PLUGIN_SYSTEMD
1311 if BUILTIN_PLUGIN_SYSTEMD
1312 BUILTIN_PLUGINS += $(SYSTEMD_PLUGIN_SOURCES)
1313 BUILTIN_CFLAGS += $(SYSTEMD_PLUGIN_CFLAGS)
1314 BUILTIN_LIBS += $(SYSTEMD_PLUGIN_LIBS)
1316 plugin_systemd_la_SOURCES = $(SYSTEMD_PLUGIN_SOURCES)
1317 plugin_systemd_la_CFLAGS = $(SYSTEMD_PLUGIN_CFLAGS) \
1320 plugin_systemd_la_LDFLAGS = -module -avoid-version
1321 plugin_systemd_la_LIBADD = $(SYSTEMD_PLUGIN_LIBS)
1323 plugin_LTLIBRARIES += plugin-systemd.la
1329 ###################################
1333 bin_PROGRAMS += murphyd
1334 EXTRA_DIST += $(config_DATA)
1335 configdir = $(sysconfdir)/murphy
1336 config_DATA = daemon/murphy.conf
1341 $(BUILTIN_PLUGINS) \
1342 load-linkedin-plugins.c
1351 $(LINKEDIN_PLUGINS) \
1352 $(RESOURCE_LIBRARY) \
1353 libmurphy-resolver.la \
1354 libmurphy-lua-decision.la \
1356 libmurphy-lua-utils.la \
1359 murphyd_LDFLAGS = -rdynamic
1363 ###################################
1364 # linkedin (DSO) loader generation
1367 linkedin-%-loader.c:
1368 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1369 -p $(shell echo $@ | \
1370 sed 's/linkedin-//g;s/-loader.c//g') -o $@
1372 linkedin-%-loader.h:
1373 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1374 -p $(shell echo $@ | \
1375 sed 's/linkedin-//g;s/-loader.h//g') -o $@
1377 load-linkedin-plugins.c:
1378 $(QUIET_GEN)$(top_builddir)/build-aux/gen-linkedin-loader \
1379 -o $@ -d $(shell echo $(LINKEDIN_PLUGINS) | \
1380 sed 's/.*plugin-//g;s/\.[^\.]*$$//g')
1383 -rm -f linkedin-*-loader.[hc] load-linkedin-plugins.c
1385 ###################################
1386 # murphy console client
1390 bin_PROGRAMS += murphy-console
1392 murphy_console_SOURCES = \
1393 console-client/client.c
1395 murphy_console_CFLAGS = \
1398 murphy_console_LDADD = \
1399 libbreedline-murphy.la \
1404 murphy_console_LDADD += libmurphy-dbus.la
1407 murphy_console_LDFLAGS = -rdynamic
1410 generate-linker-scripts:
1411 $(MAKE) -C murphy-db $@
1414 clean-local:: # clean-linker-script clean-func-infos