9 i3-config-wizard/i3-config-wizard \
10 i3-dump-log/i3-dump-log \
16 $(LN_S) -f i3 $(DESTDIR)$(bindir)/i3-with-shmlog
19 rm -f $(DESTDIR)$(bindir)/i3-with-shmlog
21 i3includedir=$(includedir)/i3
27 i3-migrate-config-to-v4 \
33 i3confdir = $(sysconfdir)/i3
38 applicationsdir = $(datarootdir)/applications
39 xsessionsdir = $(datarootdir)/xsessions
40 dist_applications_DATA = \
41 share/applications/i3.desktop
42 dist_xsessions_DATA = \
43 share/xsessions/i3.desktop \
44 share/xsessions/i3-with-shmlog.desktop
46 noinst_LIBRARIES = libi3.a
49 test.commands_parser \
54 testcases/complete-run.pl
60 rm -rf testsuite-* latest i3-cfg-for-* _Inline
61 clean-local: clean-check
63 TESTS = testcases/complete-run.pl
66 $(dist_docs_toc_DATA:.html=) \
67 $(dist_docs_notoc_DATA:.html=) \
69 AnyEvent-I3/MANIFEST \
70 AnyEvent-I3/MANIFEST.SKIP \
71 AnyEvent-I3/Makefile.PL \
73 AnyEvent-I3/lib/AnyEvent/I3.pm \
74 AnyEvent-I3/t/00-load.t \
75 AnyEvent-I3/t/01-workspaces.t \
76 AnyEvent-I3/t/02-sugar.t \
77 AnyEvent-I3/t/boilerplate.t \
78 AnyEvent-I3/t/manifest.t \
79 AnyEvent-I3/t/pod-coverage.t \
82 contrib/gtk-tree-watch.pl \
84 contrib/per-workspace-layout.pl \
85 contrib/trivial-bar-script.sh \
86 docs/asciidoc-git.conf \
91 docs/i3-sync-working.dia \
92 docs/i3-sync-working.png \
93 docs/keyboard-layer1.png \
94 docs/keyboard-layer2.png \
95 docs/layout-saving-1.png \
99 docs/refcard_style.css \
100 docs/single_terminal.png \
102 docs/tree-layout1.png \
103 docs/tree-layout2.png \
104 docs/tree-shot1.png \
105 docs/tree-shot2.png \
106 docs/tree-shot3.png \
107 docs/tree-shot4.png \
108 docs/two_columns.png \
109 docs/two_terminals.png \
114 $(asciidoc_MANS:.1=.man) \
115 $(asciidoc_MANS:.1=.man) \
116 man/asciidoc.conf.in \
122 generate-command-parser.pl \
123 parser-specs/commands.spec \
124 parser-specs/config.spec \
125 parser-specs/highlighting.vim \
127 testcases/complete-run.pl.in \
128 testcases/i3-test.config \
129 testcases/lib/i3test/Test.pm \
130 testcases/lib/i3test/Util.pm \
131 testcases/lib/i3test/XTEST.pm \
132 testcases/lib/i3test.pm.in \
133 testcases/lib/SocketActivation.pm \
134 testcases/lib/StartXServer.pm \
135 testcases/lib/StatusLine.pm \
136 testcases/lib/TestWorker.pm \
137 testcases/Makefile.PL \
139 testcases/restart-state.golden \
141 testcases/valgrind.supp
143 # dirstamps contains directories which we want to be created in $(top_builddir)
144 # so that our custom rules can store files in them.
150 DISTCLEANFILES = $(dirstamps)
153 @stamp='$@'; $(MKDIR_P) "$${stamp%/*}"
156 ################################################################################
158 ################################################################################
160 docs_tocdir = ${docdir}
161 docs_notocdir = ${docdir}
162 docs_poddir = ${docdir}
164 dist_docs_toc_DATA = \
165 docs/hacking-howto.html \
166 docs/userguide.html \
168 docs/multi-monitor.html \
170 docs/testsuite.html \
171 docs/i3bar-protocol.html \
172 docs/layout-saving.html
174 dist_docs_notoc_DATA = \
177 dist_docs_pod_DATA = \
178 docs/lib-i3test.html \
179 docs/lib-i3test-test.html
181 $(dist_docs_toc_DATA): docs/%.html: docs/% docs/$(dirstamp)
182 $(AM_V_GEN) @PATH_ASCIIDOC@ -a toc -n -o $@ $<
184 $(dist_docs_notoc_DATA): docs/%.html: docs/% docs/$(dirstamp)
185 $(AM_V_GEN) @PATH_ASCIIDOC@ -n -o $@ $<
187 docs/lib-i3test.html: testcases/lib/i3test.pm docs/$(dirstamp)
188 $(AM_V_GEN) $(top_srcdir)/docs/i3-pod2html $< $@
190 docs/lib-i3test-test.html: testcases/lib/i3test/Test.pm docs/$(dirstamp)
191 $(AM_V_GEN) $(top_srcdir)/docs/i3-pod2html $< $@
195 dist_docs_notoc_DATA =
199 ################################################################################
201 ################################################################################
214 man/i3-config-wizard.1 \
215 man/i3-migrate-config-to-v4.1 \
216 man/i3-sensible-editor.1 \
217 man/i3-sensible-pager.1 \
218 man/i3-sensible-terminal.1 \
222 man/i3-dmenu-desktop.1 \
225 $(asciidoc_MANS): man/%.1: man/%.xml man/$(dirstamp)
226 $(AM_V_GEN) out='$@'; @PATH_XMLTO@ man -o "$${out%/*}" $<
227 @stamp='$@'; $(MKDIR_P) "$${stamp%/*}"
229 man/%.xml: man/%.man man/asciidoc.conf man/$(dirstamp)
230 $(AM_V_GEN) @PATH_ASCIIDOC@ -d manpage -b docbook -f $(top_builddir)/man/asciidoc.conf -o $@ $<
232 $(pod_MANS): man/%.1: % man/$(dirstamp)
233 $(AM_V_GEN) @PATH_POD2MAN@ --utf8 $< > $@
239 -DSYSCONFDIR="\"$(sysconfdir)\"" \
240 -I$(top_builddir)/parser \
241 -I$(top_srcdir)/include \
242 @AX_EXTEND_SRCDIR_CPPFLAGS@
249 $(XCB_UTIL_CURSOR_CFLAGS) \
250 $(XCB_UTIL_KEYSYM_CFLAGS) \
251 $(XCB_UTIL_WM_CFLAGS) \
252 $(XCB_UTIL_XRM_CFLAGS) \
253 $(XKBCOMMON_CFLAGS) \
257 $(CODE_COVERAGE_CFLAGS)
261 $(CODE_COVERAGE_CPPFLAGS)
267 $(XCB_UTIL_CURSOR_LIBS) \
268 $(XCB_UTIL_KEYSYMS_LIBS) \
269 $(XCB_UTIL_WM_LIBS) \
270 $(XCB_UTIL_XRM_LIBS) \
276 $(CODE_COVERAGE_LDFLAGS)
282 $(XCB_UTIL_XRM_CFLAGS) \
287 $(top_builddir)/libi3.a \
290 $(XCB_UTIL_XRM_LIBS) \
301 libi3/fake_configure_notify.c \
303 libi3/format_placeholders.c \
304 libi3/get_colorpixel.c \
305 libi3/get_config_path.c \
306 libi3/get_exe_path.c \
307 libi3/get_mod_mask.c \
308 libi3/get_process_filename.c \
309 libi3/get_visualtype.c \
310 libi3/ipc_connect.c \
311 libi3/ipc_recv_message.c \
312 libi3/ipc_send_message.c \
313 libi3/is_debug_build.c \
315 libi3/resolve_tilde.c \
316 libi3/root_atom_contents.c \
317 libi3/safewrappers.c \
320 libi3/ucs2_conversion.c
322 i3_dump_log_i3_dump_log_CFLAGS = \
327 i3_dump_log_i3_dump_log_LDADD = \
331 i3_dump_log_i3_dump_log_SOURCES = \
334 i3_input_i3_input_CFLAGS = \
338 i3_input_i3_input_LDADD = \
340 $(XCB_UTIL_KEYSYMS_LIBS)
342 i3_input_i3_input_SOURCES = \
343 i3-input/i3-input.h \
344 i3-input/keysym2ucs.c \
345 i3-input/keysym2ucs.h \
348 i3_msg_i3_msg_CFLAGS = \
352 i3_msg_i3_msg_LDADD = \
355 i3_msg_i3_msg_SOURCES = \
358 i3_nagbar_i3_nagbar_CFLAGS = \
363 i3_nagbar_i3_nagbar_LDADD = \
366 $(XCB_UTIL_CURSOR_LIBS)
368 i3_nagbar_i3_nagbar_SOURCES = \
369 i3-nagbar/atoms.xmacro \
370 i3-nagbar/i3-nagbar.h \
373 i3bar_i3bar_CPPFLAGS = \
375 -I$(top_srcdir)/i3bar/include
377 i3bar_i3bar_CFLAGS = \
381 $(XKBCOMMON_CFLAGS) \
382 $(PANGOCAIRO_CFLAGS) \
385 i3bar_i3bar_LDADD = \
388 $(XCB_UTIL_CURSOR_LIBS) \
393 i3bar_i3bar_SOURCES = \
394 i3bar/include/child.h \
395 i3bar/include/common.h \
396 i3bar/include/configuration.h \
397 i3bar/include/ipc.h \
398 i3bar/include/mode.h \
399 i3bar/include/outputs.h \
400 i3bar/include/parse_json_header.h \
401 i3bar/include/trayclients.h \
402 i3bar/include/util.h \
403 i3bar/include/workspaces.h \
404 i3bar/include/xcb_atoms.def \
405 i3bar/include/xcb.h \
411 i3bar/src/outputs.c \
412 i3bar/src/parse_json_header.c \
413 i3bar/src/workspaces.c \
416 i3_config_wizard_i3_config_wizard_CFLAGS = \
422 i3_config_wizard_i3_config_wizard_LDADD = \
425 $(XCB_UTIL_KEYSYMS_LIBS) \
428 i3_config_wizard_i3_config_wizard_SOURCES = \
429 i3-config-wizard/atoms.xmacro \
430 i3-config-wizard/main.c \
431 i3-config-wizard/xcb.h
433 test_inject_randr15_CPPFLAGS = \
436 test_inject_randr15_CFLAGS = \
440 test_inject_randr15_SOURCES = \
441 testcases/inject_randr1.5.c
443 test_inject_randr15_LDADD = \
446 test_commands_parser_CPPFLAGS = \
450 test_commands_parser_CFLAGS = \
454 test_commands_parser_SOURCES = \
455 src/commands_parser.c
457 test_commands_parser_LDADD = \
460 test_config_parser_CPPFLAGS = \
464 test_config_parser_CFLAGS = \
468 test_config_parser_SOURCES = \
471 test_config_parser_LDADD = \
474 command_parser_SOURCES = \
475 parser/GENERATED_command_enums.h \
476 parser/GENERATED_command_tokens.h \
477 parser/GENERATED_command_call.h
479 config_parser_SOURCES = \
480 parser/GENERATED_config_enums.h \
481 parser/GENERATED_config_tokens.h \
482 parser/GENERATED_config_call.h
485 $(command_parser_SOURCES) \
486 $(config_parser_SOURCES) \
488 include/assignments.h \
489 include/atoms_NET_SUPPORTED.xmacro \
490 include/atoms_rest.xmacro \
491 include/atoms.xmacro \
496 include/commands_parser.h \
497 include/config_directives.h \
498 include/configuration.h \
499 include/config_parser.h \
502 include/display_version.h \
504 include/fake_outputs.h \
509 include/key_press.h \
510 include/load_layout.h \
522 include/restore_layout.h \
523 include/scratchpad.h \
524 include/sd-daemon.h \
526 include/sighandler.h \
532 include/workspace.h \
537 include/yajl_utils.h \
542 src/commands_parser.c \
545 src/config_directives.c \
546 src/config_parser.c \
547 src/display_version.c \
565 src/restore_layout.c \
581 ################################################################################
583 ################################################################################
585 $(command_parser_SOURCES): %.h: i3-command-parser.stamp
587 $(config_parser_SOURCES): %.h: i3-config-parser.stamp
589 src/i3-commands_parser.$(OBJEXT): i3-command-parser.stamp
591 src/i3-config_parser.$(OBJEXT): i3-config-parser.stamp
593 i3-command-parser.stamp: parser/$(dirstamp) generate-command-parser.pl parser-specs/commands.spec
594 $(AM_V_GEN) $(top_srcdir)/generate-command-parser.pl --input=$(top_srcdir)/parser-specs/commands.spec --prefix=command
595 $(AM_V_at) mv GENERATED_command_* $(top_builddir)/parser
598 i3-config-parser.stamp: parser/$(dirstamp) generate-command-parser.pl parser-specs/config.spec
599 $(AM_V_GEN) $(top_srcdir)/generate-command-parser.pl --input=$(top_srcdir)/parser-specs/config.spec --prefix=config
600 $(AM_V_at) mv GENERATED_config_* $(top_builddir)/parser
603 ################################################################################
604 # AnyEvent-I3 build process
605 ################################################################################
607 anyevent-i3.stamp: AnyEvent-I3/lib/AnyEvent/I3.pm
608 $(AM_V_BUILD) (cd $(top_srcdir)/AnyEvent-I3 && perl Makefile.PL && make)
612 i3-command-parser.stamp \
613 i3-config-parser.stamp \