6 i3-config-wizard/i3-config-wizard \
7 i3-dump-log/i3-dump-log \
13 $(LN_S) -f i3 $(DESTDIR)$(bindir)/i3-with-shmlog
16 rm -f $(DESTDIR)$(bindir)/i3-with-shmlog
18 i3includedir=$(includedir)/i3
24 i3-migrate-config-to-v4 \
30 i3confdir = $(sysconfdir)/i3
35 applicationsdir = $(datarootdir)/applications
36 xsessionsdir = $(datarootdir)/xsessions
37 dist_applications_DATA = \
38 share/applications/i3.desktop
39 dist_xsessions_DATA = \
40 share/xsessions/i3.desktop \
41 share/xsessions/i3-with-shmlog.desktop
43 noinst_LIBRARIES = libi3.a
45 check_PROGRAMS = test.commands_parser test.config_parser
48 testcases/complete-run.pl
51 rm -rf testsuite-* latest i3-cfg-for-* _Inline
52 clean-local: clean-check
54 TESTS = testcases/complete-run.pl
57 $(dist_docs_toc_DATA:.html=) \
58 $(dist_docs_notoc_DATA:.html=) \
59 docs/asciidoc-git.conf \
64 docs/i3-sync-working.dia \
65 docs/i3-sync-working.png \
66 docs/keyboard-layer1.png \
67 docs/keyboard-layer2.png \
68 docs/layout-saving-1.png \
72 docs/refcard_style.css \
73 docs/single_terminal.png \
75 docs/tree-layout1.png \
76 docs/tree-layout2.png \
81 docs/two_columns.png \
82 docs/two_terminals.png \
87 $(asciidoc_MANS:.1=.man) \
88 $(asciidoc_MANS:.1=.man) \
95 generate-command-parser.pl \
96 parser-specs/commands.spec \
97 parser-specs/config.spec \
98 parser-specs/highlighting.vim \
100 testcases/complete-run.pl.in \
101 testcases/i3-test.config \
102 testcases/lib/i3test/Test.pm \
103 testcases/lib/i3test/Util.pm \
104 testcases/lib/i3test/XTEST.pm \
105 testcases/lib/i3test.pm.in \
106 testcases/lib/SocketActivation.pm \
107 testcases/lib/StartXServer.pm \
108 testcases/lib/StatusLine.pm \
109 testcases/lib/TestWorker.pm \
110 testcases/Makefile.PL \
112 testcases/restart-state.golden \
114 testcases/valgrind.supp
116 # dirstamps contains directories which we want to be created in $(top_builddir)
117 # so that our custom rules can store files in them.
123 DISTCLEANFILES = $(dirstamps)
126 @stamp='$@'; $(MKDIR_P) "$${stamp%/*}"
129 ################################################################################
131 ################################################################################
133 docs_tocdir = ${docdir}
134 docs_notocdir = ${docdir}
135 docs_poddir = ${docdir}
137 dist_docs_toc_DATA = \
138 docs/hacking-howto.html \
139 docs/userguide.html \
141 docs/multi-monitor.html \
143 docs/testsuite.html \
144 docs/i3bar-protocol.html \
145 docs/layout-saving.html
147 dist_docs_notoc_DATA = \
150 dist_docs_pod_DATA = \
151 docs/lib-i3test.html \
152 docs/lib-i3test-test.html
154 $(dist_docs_toc_DATA): docs/%.html: docs/% docs/$(dirstamp)
155 $(AM_V_GEN) @PATH_ASCIIDOC@ -a toc -n -o $@ $<
157 $(dist_docs_notoc_DATA): docs/%.html: docs/% docs/$(dirstamp)
158 $(AM_V_GEN) @PATH_ASCIIDOC@ -n -o $@ $<
160 docs/lib-i3test.html: testcases/lib/i3test.pm docs/$(dirstamp)
161 $(AM_V_GEN) $(top_srcdir)/docs/i3-pod2html $< $@
163 docs/lib-i3test-test.html: testcases/lib/i3test/Test.pm docs/$(dirstamp)
164 $(AM_V_GEN) $(top_srcdir)/docs/i3-pod2html $< $@
168 dist_docs_notoc_DATA =
172 ################################################################################
174 ################################################################################
187 man/i3-config-wizard.1 \
188 man/i3-migrate-config-to-v4.1 \
189 man/i3-sensible-editor.1 \
190 man/i3-sensible-pager.1 \
191 man/i3-sensible-terminal.1 \
195 man/i3-dmenu-desktop.1 \
198 $(asciidoc_MANS): man/%.1: man/%.xml man/$(dirstamp)
199 $(AM_V_GEN) out='$@'; @PATH_XMLTO@ man -o "$${out%/*}" $<
200 @stamp='$@'; $(MKDIR_P) "$${stamp%/*}"
202 man/%.xml: man/%.man man/asciidoc.conf man/$(dirstamp)
203 $(AM_V_GEN) @PATH_ASCIIDOC@ -d manpage -b docbook -f $(top_srcdir)/man/asciidoc.conf -o $@ $<
205 $(pod_MANS): man/%.1: % man/$(dirstamp)
206 $(AM_V_GEN) @PATH_POD2MAN@ --utf8 $< > $@
212 -I$(top_builddir)/parser \
213 -I$(top_srcdir)/include \
214 @AX_EXTEND_SRCDIR_CPPFLAGS@
221 $(XCB_UTIL_CURSOR_CFLAGS) \
222 $(XCB_UTIL_KEYSYM_CFLAGS) \
223 $(XCB_UTIL_WM_CFLAGS) \
224 $(XCB_UTIL_XRM_CFLAGS) \
225 $(XKBCOMMON_CFLAGS) \
229 $(CODE_COVERAGE_CFLAGS)
233 $(CODE_COVERAGE_CPPFLAGS)
239 $(XCB_UTIL_CURSOR_LIBS) \
240 $(XCB_UTIL_KEYSYMS_LIBS) \
241 $(XCB_UTIL_WM_LIBS) \
242 $(XCB_UTIL_XRM_LIBS) \
248 $(CODE_COVERAGE_LDFLAGS)
254 $(XCB_UTIL_XRM_CFLAGS) \
259 $(top_builddir)/libi3.a \
262 $(XCB_UTIL_XRM_LIBS) \
273 libi3/fake_configure_notify.c \
275 libi3/format_placeholders.c \
276 libi3/get_colorpixel.c \
277 libi3/get_config_path.c \
278 libi3/get_exe_path.c \
279 libi3/get_mod_mask.c \
280 libi3/get_process_filename.c \
281 libi3/get_visualtype.c \
282 libi3/ipc_connect.c \
283 libi3/ipc_recv_message.c \
284 libi3/ipc_send_message.c \
285 libi3/is_debug_build.c \
287 libi3/resolve_tilde.c \
288 libi3/root_atom_contents.c \
289 libi3/safewrappers.c \
292 libi3/ucs2_conversion.c
294 i3_dump_log_i3_dump_log_CFLAGS = \
299 i3_dump_log_i3_dump_log_LDADD = \
303 i3_dump_log_i3_dump_log_SOURCES = \
306 i3_input_i3_input_CFLAGS = \
310 i3_input_i3_input_LDADD = \
312 $(XCB_UTIL_KEYSYMS_LIBS)
314 i3_input_i3_input_SOURCES = \
315 i3-input/i3-input.h \
316 i3-input/keysym2ucs.c \
317 i3-input/keysym2ucs.h \
320 i3_msg_i3_msg_CFLAGS = \
324 i3_msg_i3_msg_LDADD = \
327 i3_msg_i3_msg_SOURCES = \
330 i3_nagbar_i3_nagbar_CFLAGS = \
334 i3_nagbar_i3_nagbar_LDADD = \
336 $(XCB_UTIL_CURSOR_LIBS)
338 i3_nagbar_i3_nagbar_SOURCES = \
339 i3-nagbar/atoms.xmacro \
340 i3-nagbar/i3-nagbar.h \
343 i3bar_i3bar_CPPFLAGS = \
345 -I$(top_srcdir)/i3bar/include
347 i3bar_i3bar_CFLAGS = \
351 $(XKBCOMMON_CFLAGS) \
352 $(PANGOCAIRO_CFLAGS) \
355 i3bar_i3bar_LDADD = \
358 $(XCB_UTIL_CURSOR_LIBS) \
363 i3bar_i3bar_SOURCES = \
364 i3bar/include/child.h \
365 i3bar/include/common.h \
366 i3bar/include/configuration.h \
367 i3bar/include/ipc.h \
368 i3bar/include/mode.h \
369 i3bar/include/outputs.h \
370 i3bar/include/parse_json_header.h \
371 i3bar/include/trayclients.h \
372 i3bar/include/util.h \
373 i3bar/include/workspaces.h \
374 i3bar/include/xcb_atoms.def \
375 i3bar/include/xcb.h \
381 i3bar/src/outputs.c \
382 i3bar/src/parse_json_header.c \
383 i3bar/src/workspaces.c \
386 i3_config_wizard_i3_config_wizard_CFLAGS = \
391 i3_config_wizard_i3_config_wizard_LDADD = \
393 $(XCB_UTIL_KEYSYMS_LIBS) \
396 i3_config_wizard_i3_config_wizard_SOURCES = \
397 i3-config-wizard/atoms.xmacro \
398 i3-config-wizard/main.c \
399 i3-config-wizard/xcb.h
401 test_commands_parser_CPPFLAGS = \
405 test_commands_parser_CFLAGS = \
409 test_commands_parser_SOURCES = \
410 src/commands_parser.c
412 test_commands_parser_LDADD = \
415 test_config_parser_CPPFLAGS = \
419 test_config_parser_CFLAGS = \
423 test_config_parser_SOURCES = \
426 test_config_parser_LDADD = \
429 command_parser_SOURCES = \
430 parser/GENERATED_command_enums.h \
431 parser/GENERATED_command_tokens.h \
432 parser/GENERATED_command_call.h
434 config_parser_SOURCES = \
435 parser/GENERATED_config_enums.h \
436 parser/GENERATED_config_tokens.h \
437 parser/GENERATED_config_call.h
440 $(command_parser_SOURCES) \
441 $(config_parser_SOURCES) \
443 include/assignments.h \
444 include/atoms_NET_SUPPORTED.xmacro \
445 include/atoms_rest.xmacro \
446 include/atoms.xmacro \
451 include/commands_parser.h \
452 include/config_directives.h \
453 include/configuration.h \
454 include/config_parser.h \
458 include/display_version.h \
460 include/fake_outputs.h \
465 include/key_press.h \
466 include/load_layout.h \
478 include/restore_layout.h \
479 include/scratchpad.h \
480 include/sd-daemon.h \
482 include/sighandler.h \
487 include/workspace.h \
492 include/yajl_utils.h \
497 src/commands_parser.c \
500 src/config_directives.c \
501 src/config_parser.c \
503 src/display_version.c \
521 src/restore_layout.c \
536 ################################################################################
538 ################################################################################
540 $(command_parser_SOURCES): %.h: i3-command-parser.stamp
542 $(config_parser_SOURCES): %.h: i3-config-parser.stamp
544 src/i3-commands_parser.$(OBJEXT): i3-command-parser.stamp
546 src/i3-config_parser.$(OBJEXT): i3-config-parser.stamp
548 i3-command-parser.stamp: parser/$(dirstamp) generate-command-parser.pl parser-specs/commands.spec
549 $(AM_V_GEN) $(top_srcdir)/generate-command-parser.pl --input=$(top_srcdir)/parser-specs/commands.spec --prefix=command
550 $(AM_V_at) mv GENERATED_command_* $(top_builddir)/parser
553 i3-config-parser.stamp: parser/$(dirstamp) generate-command-parser.pl parser-specs/config.spec
554 $(AM_V_GEN) $(top_srcdir)/generate-command-parser.pl --input=$(top_srcdir)/parser-specs/config.spec --prefix=config
555 $(AM_V_at) mv GENERATED_config_* $(top_builddir)/parser
559 i3-command-parser.stamp \
560 i3-config-parser.stamp