# ^/*.*$ Start of multi-line comment
# ^ *.*$ Multi-line comment body
# ^[ \t]* Indentation whitespace
-# \n Newlines
+# [\r\n] Newlines
#
CLEANFILES += src/*.vert.bin src/*.frag.bin
SHADER_SED = -e 's/^\/\*.*$$//' -e 's/^ \*.*$$//' -e 's/^[ \t]*//'
-SHADER_TR = -d "\n"
+SHADER_TR = -d "\r\n"
src/%.vert.bin: $(top_srcdir)/src/%.vert
$(AM_V_at)$(SED) $(SHADER_SED) "$<" | tr $(SHADER_TR) >"$@"
$(AM_V_at)$(SED) $(SHADER_SED) "$<" | tr $(SHADER_TR) >"$@"
#
+# XKB Fallback Converter
+# We use a static built-in XKB fallback keymap. To avoid huge memory consumption
+# we remove useless lines/characters first.
+# We also append an ASCII 0 character so it can be used as regular C-string.
+#
+# Following regexp are used to remove characters/lines:
+# *= * Whitespace around assignments
+# *, * Whitespace around commatas
+# *[][{}()] * Whitespace around braces
+# ^[ \t]* Indentation whitespace
+# [\r\n] Newlines
+#
+
+CLEANFILES += src/*.xkb.bin
+XKB_SED = -e 's/^[ \t]*//' -e 's/ *\([,=]\) */\1/g' -e 's/ *\([][{}()]\) */\1/g'
+XKB_TR = -d "\r\n"
+
+src/%.xkb.bin: $(top_srcdir)/src/%.xkb
+ $(AM_V_at)$(SED) $(XKB_SED) "$<" | tr $(XKB_TR) >"$@"
+ $(AM_V_at)echo -ne "\x00" >>"$@"
+
+#
# SHL - Static Helper Library
# The SHL subsystem contains several small code pieces used all over kmscon and
# other applications.
src/shl_hook.h \
src/shl_misc.h \
src/shl_register.h \
- src/shl_flagset.h \
- src/shl_gl.h \
- src/shl_gl_math.c
+ src/shl_flagset.h
libshl_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(XKBCOMMON_CFLAGS) \
$(XKBCOMMON_LIBS)
if BUILD_HAVE_GLES2
-libshl_la_SOURCES += src/shl_gl_shader.c
+libshl_la_SOURCES += src/shl_gl.h src/shl_gl_shader.c src/shl_gl_math.c
libshl_la_CPPFLAGS += $(GLES2_CFLAGS)
libshl_la_LIBADD += $(GLES2_LIBS)
endif
$(UDEV_LIBS) \
$(XKBCOMMON_LIBS) \
libeloop.la \
- libshl.la
+ libshl.la \
+ src/uterm_input_fallback.xkb.bin.lo
libuterm_la_LDFLAGS = \
$(AM_LDFLAGS)
src/kmscon_module_interface.h \
src/text_bbulk.c \
src/kmscon_mod_bbulk.c
-mod_bbulk_la_LIBADD = libshl.la
+mod_bbulk_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ $(TSM_CFLAGS)
+mod_bbulk_la_LIBADD = \
+ $(TSM_LIBS) \
+ libshl.la
mod_bbulk_la_LDFLAGS = \
$(AM_LDFLAGS) \
-module \
src/kmscon_mod_gltex.c
mod_gltex_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
+ $(TSM_CFLAGS) \
$(GLES2_CFLAGS)
mod_gltex_la_LIBADD = \
$(GLES2_LIBS) \
+ $(TSM_LIBS) \
libshl.la \
src/text_gltex_atlas.vert.bin.lo \
src/text_gltex_atlas.frag.bin.lo