build: put static_* files into separate library
[platform/upstream/kmscon.git] / Makefile.am
1 ACLOCAL_AMFLAGS = -I m4
2 SUBDIRS = . docs/reference
3 EXTRA_DIST = README TODO COPYING
4 CLEANFILES =
5
6 bin_PROGRAMS = kmscon
7 check_PROGRAMS = \
8         test_output \
9         test_vt \
10         test_input
11 noinst_PROGRAMS = genshader
12 noinst_LTLIBRARIES = libkmscon-core.la libkmscon-static.la
13
14 AM_CFLAGS = \
15         -Wall
16 AM_CPPFLAGS = \
17         -include $(top_builddir)/config.h \
18         -I $(srcdir)/src \
19         -I $(srcdir)/external
20 AM_LDFLAGS = \
21         -Wl,--as-needed
22
23 if DEBUG
24 AM_CFLAGS += -O0 -g
25 else
26 AM_CFLAGS += -O2
27 endif
28
29 EXTRA_DIST += src/output_shader_def.vert src/output_shader_def.frag \
30         src/output_shader_tex.vert src/output_shader_tex.frag
31 CLEANFILES += src/output_shaders.c
32
33 nodist_genshader_SOURCES = \
34         src/genshader.c
35
36 src/output_shaders.c: src/output_shader_def.vert src/output_shader_def.frag \
37         src/output_shader_tex.vert src/output_shader_tex.frag genshader$(EXEEXT)
38         ./genshader$(EXEEXT)
39
40 nodist_libkmscon_core_la_SOURCES = \
41         src/output_shaders.c
42
43 libkmscon_core_la_SOURCES = \
44         src/conf.c src/conf.h \
45         src/ui.c src/ui.h \
46         src/console.c src/console.h \
47         src/unicode.c src/unicode.h \
48         src/log.c src/log.h \
49         src/eloop.c src/eloop.h \
50         src/vt.c src/vt.h \
51         src/vte.c src/vte.h \
52         src/vte_charsets.c \
53         src/terminal.c src/terminal.h \
54         src/pty.c src/pty.h \
55         src/uterm.h src/uterm_internal.h \
56         src/uterm_video.c \
57         src/uterm_video_drm.c \
58         src/uterm_video_fbdev.c \
59         src/uterm_monitor.c \
60         src/uterm_input.c \
61         src/uterm_vt.c \
62         src/gl.h \
63         src/gl_math.c \
64         src/gl_shader.c \
65         src/font_pango.c
66
67 if USE_XKBCOMMON
68 libkmscon_core_la_SOURCES += \
69         external/imKStoUCS.c external/imKStoUCS.h \
70         src/uterm_input_xkb.c
71 else
72 libkmscon_core_la_SOURCES += \
73         external/imKStoUCS.c external/imKStoUCS.h \
74         src/uterm_input_dumb.c
75 endif
76
77 if USE_PANGO
78 libkmscon_core_la_SOURCES += \
79         src/font_pango.c src/font.h
80 else
81 libkmscon_core_la_SOURCES += \
82         src/font_freetype.c src/font.h
83 endif
84
85 libkmscon_core_la_CPPFLAGS = \
86         $(AM_CPPFLAGS) \
87         $(SYSTEMD_CFLAGS) \
88         $(DRM_CFLAGS) \
89         $(EGL_CFLAGS) \
90         $(GBM_CFLAGS) \
91         $(OPENGL_CFLAGS) \
92         $(PANGO_CFLAGS) \
93         $(UDEV_CFLAGS) \
94         $(FREETYPE2_CFLAGS) \
95         $(XPROTO_CFLAGS) \
96         $(XKBCOMMON_CFLAGS) \
97         $(GLIB_CFLAGS)
98 libkmscon_core_la_LIBADD = \
99         $(SYSTEMD_LIBS) \
100         $(DRM_LIBS) \
101         $(EGL_LIBS) \
102         $(GBM_LIBS) \
103         $(OPENGL_LIBS) \
104         $(PANGO_LIBS) \
105         $(UDEV_LIBS) \
106         $(FREETYPE2_LIBS) \
107         $(XPROTO_LIBS) \
108         $(XKBCOMMON_LIBS) \
109         $(GLIB_LIBS) \
110         -lpthread
111
112 libkmscon_static_la_SOURCES = \
113         src/static_llog.h \
114         src/static_misc.h \
115         src/static_misc.c
116
117 libkmscon_static_la_CPPFLAGS = \
118         $(AM_CPPFLAGS) \
119         $(GLIB_CFLAGS)
120 libkmscon_static_la_LIBADD = \
121         $(GLIB_LIBS)
122
123 kmscon_SOURCES = src/main.c
124 kmscon_LDADD = libkmscon-core.la libkmscon-static.la
125
126 test_output_SOURCES = tests/test_output.c tests/test_include.h
127 test_output_LDADD = libkmscon-core.la
128
129 test_vt_SOURCES = tests/test_vt.c
130 test_vt_LDADD = libkmscon-core.la
131
132 test_input_SOURCES = tests/test_input.c
133 test_input_LDADD = libkmscon-core.la