build: fix out-of-tree build and distcheck
[platform/upstream/kmscon.git] / Makefile.am
1 ACLOCAL_AMFLAGS = -I m4
2 EXTRA_DIST = README TODO COPYING
3 CLEANFILES =
4
5 bin_PROGRAMS = kmscon
6 check_PROGRAMS = test_console test_output test_vt test_buffer test_terminal \
7         test_input
8 noinst_PROGRAMS = genshader
9 noinst_LTLIBRARIES = libkmscon-core.la
10
11 AM_CFLAGS = \
12         -Wall
13 AM_CPPFLAGS = \
14         -I $(srcdir)/src \
15         -I $(srcdir)/external
16 AM_LDFLAGS = \
17         -Wl,--as-needed
18
19 if DEBUG
20 AM_CFLAGS += -O0 -g
21 else
22 AM_CFLAGS += -O2
23 endif
24
25 EXTRA_DIST += src/output_shader_def.vert src/output_shader_def.frag \
26         src/output_shader_tex.vert src/output_shader_tex.frag
27 CLEANFILES += src/output_shaders.c
28
29 nodist_genshader_SOURCES = \
30         src/genshader.c
31
32 src/output_shaders.c: src/output_shader_def.vert src/output_shader_def.frag \
33         src/output_shader_tex.vert src/output_shader_tex.frag genshader$(EXEEXT)
34         ./genshader$(EXEEXT)
35
36 nodist_libkmscon_core_la_SOURCES = \
37         src/output_shaders.c
38
39 libkmscon_core_la_SOURCES = \
40         src/console.c src/console.h \
41         src/output.c src/output.h \
42         src/output_context.c \
43         src/output_math.c \
44         src/console_cell.c \
45         src/unicode.c src/unicode.h \
46         src/log.c src/log.h \
47         src/eloop.c src/eloop.h \
48         src/vt.c src/vt.h \
49         src/input.c src/input.h \
50         src/vte.c src/vte.h \
51         src/terminal.c src/terminal.h \
52         src/pty.c src/pty.h
53
54 if USE_XKBCOMMON
55 libkmscon_core_la_SOURCES += \
56         src/kbd_xkb.c src/kbd.h \
57         external/imKStoUCS.c external/imKStoUCS.h
58 else
59 libkmscon_core_la_SOURCES += \
60         src/kbd_dumb.c src/kbd.h \
61         external/imKStoUCS.c external/imKStoUCS.h
62 endif
63
64 if USE_PANGO
65 libkmscon_core_la_SOURCES += \
66         src/font_pango.c src/font.h
67 else
68 libkmscon_core_la_SOURCES += \
69         src/font_freetype.c src/font.h
70 endif
71
72 libkmscon_core_la_CPPFLAGS = \
73         $(AM_CPPFLAGS) \
74         $(DRM_CFLAGS) \
75         $(EGL_CFLAGS) \
76         $(GBM_CFLAGS) \
77         $(OPENGL_CFLAGS) \
78         $(PANGO_CFLAGS) \
79         $(UDEV_CFLAGS) \
80         $(FREETYPE2_CFLAGS) \
81         $(XPROTO_CFLAGS) \
82         $(XKBCOMMON_CFLAGS) \
83         $(GLIB_CFLAGS)
84 libkmscon_core_la_LIBADD = \
85         $(DRM_LIBS) \
86         $(EGL_LIBS) \
87         $(GBM_LIBS) \
88         $(OPENGL_LIBS) \
89         $(PANGO_LIBS) \
90         $(UDEV_LIBS) \
91         $(FREETYPE2_LIBS) \
92         $(XPROTO_LIBS) \
93         $(XKBCOMMON_LIBS) \
94         $(GLIB_LIBS)
95
96 kmscon_SOURCES = src/main.c
97 kmscon_LDADD = libkmscon-core.la
98
99 test_console_SOURCES = tests/test_console.c
100 test_console_LDADD = libkmscon-core.la
101
102 test_output_SOURCES = tests/test_output.c
103 test_output_LDADD = libkmscon-core.la
104
105 test_vt_SOURCES = tests/test_vt.c
106 test_vt_LDADD = libkmscon-core.la
107
108 test_buffer_SOURCES = tests/test_buffer.c
109 test_buffer_LDADD = libkmscon-core.la
110
111 test_terminal_SOURCES = tests/test_terminal.c
112 test_terminal_LDADD = libkmscon-core.la
113
114 test_input_SOURCES = tests/test_input.c
115 test_input_LDADD = libkmscon-core.la