if LIBXKBFILE_PRESENT LIBXKBFILE_PRESENT_CFLAG = -DLIBXKBFILE_PRESENT=1 LIBXKBFILE_PRESENT_LDFLAGS = -lxkbfile endif if ENABLE_XKB_SUPPORT ENABLE_XKB_SUPPORT_CFLAG = -DENABLE_XKB_SUPPORT=1 else ENABLE_XKB_SUPPORT_CFLAG = -DDISABLE_XKB_SUPPORT=1 endif if ENABLE_XMODMAP_SUPPORT ENABLE_XMODMAP_SUPPORT_CFLAG = -DENABLE_XMODMAP_SUPPORT=1 else ENABLE_XMODMAP_SUPPORT_CFLAG = -DDISABLE_XMODMAP_SUPPORT=1 endif AM_CFLAGS=-Wall -DDATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -I. -I$(top_srcdir) $(X_CFLAGS) \ $(XML_CFLAGS) $(GLIB_CFLAGS) $(XINPUT_CFLAGS) \ $(LIBXKBFILE_PRESENT_CFLAG) \ $(ENABLE_XKB_SUPPORT_CFLAG) \ $(ENABLE_XMODMAP_SUPPORT_CFLAG) lib_LTLIBRARIES = libxklavier.la noinst_HEADERS = xklavier_private.h xklavier_private_xkb.h xklavier_private_xmm.h xklavier_headers = xkl_engine.h xkl_config_item.h xkl_config_registry.h \ xkl_config_rec.h xkl_engine_marshal.h xklavier.h BUILT_SOURCES = $(xklavier_built_headers) $(xklavier_built_cfiles) xklavier_built_headers = xkl-enum-types.h xklavier_built_cfiles = xkl-enum-types.c xklavierincdir = $(includedir)/libxklavier xklavierinc_HEADERS = $(xklavier_headers) $(xklavier_built_headers) libxklavier_la_SOURCES = $(xklavier_built_cfiles) xklavier.c xklavier_evt.c xklavier_config.c xklavier_config_iso.c \ xklavier_xkb.c xklavier_evt_xkb.c xklavier_config_xkb.c xklavier_toplevel.c \ xklavier_xmm.c xklavier_xmm_opts.c xklavier_evt_xmm.c xklavier_config_xmm.c \ xklavier_util.c xklavier_props.c xklavier_dump.c xkl_engine_marshal.c \ $(noinst_HEADERS) $(xklavierinc_HEADERS) libxklavier_la_LDFLAGS = -version-info @VERSION_INFO@ -no-undefined -export-symbols $(srcdir)/libxklavier.public libxklavier_la_LIBADD = \ $(XML_LIBS) $(GLIB_LIBS) $(XINPUT_LIBS) \ $(LIBXKBFILE_PRESENT_LDFLAGS) \ $(X_LIBS) -lX11 $(LIBICONV) EXTRA_DIST=marshal.list libxklavier.public GLIB_GENMARSHAL = `$(PKG_CONFIG) --variable=glib_genmarshal glib-2.0` xkl_engine_marshal.h: marshal.list $(GLIB_GENMARSHAL) --prefix=xkl_engine $(srcdir)/marshal.list --header > xkl_engine_marshal.h xkl_engine_marshal.c: xkl_engine_marshal.h $(GLIB_GENMARSHAL) --prefix=xkl_engine $(srcdir)/marshal.list --body > xkl_engine_marshal.c xkl-enum-types.h: stamp-xkl-enum-types.h @true stamp-xkl-enum-types.h: $(xklavier_headers) (cd $(srcdir) \ && glib-mkenums \ --fhead "#ifndef __XKL_ENUM_TYPES_H__\n#define __XKL_ENUM_TYPES_H__\n" \ --fprod "/* enumerations from \"@filename@\" */\n" \ --vhead "GType @enum_name@_get_type (void);\n#define XKL_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ --ftail "#endif /* __XKL_ENUM_TYPES_H__ */" \ $(xklavier_headers)) > new-xkl-enum-types.h \ && (cmp -s new-xkl-enum-types.h xkl-enum-types.h || cp new-xkl-enum-types.h xkl-enum-types.h) \ && rm -f new-xkl-enum-types.h \ && echo timestamp > $(@F) xkl-enum-types.c: $(xklavier_headers) xkl-enum-types.h (cd $(srcdir) \ && glib-mkenums \ --fhead "#include " \ --fprod "\n/* enumerations from \"@filename@\" */" \ --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ $(xklavier_headers)) > new-xkl-enum-types.c \ && cp new-xkl-enum-types.c $(@F) \ && rm -f new-xkl-enum-types.c DISTCLEANFILES=$(xklavier_built_headers) \ $(xklavier_built_cfiles) \ stamp-xkl-enum-types.h \ xkl_engine_marshal.c \ xkl_engine_marshal.h CLEANFILES= # build intospection typelib -include $(INTROSPECTION_MAKEFILE) INTROSPECTION_GIRS = INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) if HAVE_INTROSPECTION # avoid introspecting private headers introspection_sources = $(xklavier_headers) $(xklavier_built_headers) $(filter %.c, $(libxklavier_la_SOURCES)) Xkl-1.0.gir: libxklavier.la Xkl_1_0_gir_INCLUDES = GObject-2.0 xlib-2.0 Xkl_1_0_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) $(INCLUDES) $(X_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS) $(XINPUT_CFLAGS) Xkl_1_0_gir_LIBS = libxklavier.la Xkl_1_0_gir_FILES = $(xklavier_headers) $(introspection_sources) Xkl_1_0_gir_EXPORT_PACKAGES = libxklavier Xkl_1_0_gir_SCANNERFLAGS = --c-include="libxklavier/xklavier.h" INTROSPECTION_GIRS += Xkl-1.0.gir girdir = $(datadir)/gir-1.0 gir_DATA = $(INTROSPECTION_GIRS) typelibdir = $(libdir)/girepository-1.0 typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) CLEANFILES += $(gir_DATA) $(typelib_DATA) if ENABLE_VAPIGEN -include $(VAPIGEN_MAKEFILE) libxklavier.vapi: Xkl-1.0.gir libxklavier.deps VAPIGEN_VAPIS = libxklavier.vapi libxklavier_vapi_DEPS = x11 libxklavier_vapi_FILES = Xkl-1.0.gir libxklavier.deps: $(AM_V_GEN) for pkg in $(libxklavier_vapi_DEPS); do \ echo $$pkg >> $@; \ done vapidir = $(datadir)/vala/vapi vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps) endif endif