blob: c9c1bbe419619871ff253521936bd20a840084c7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
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 <libxklavier/xklavier.h>" \
--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
|