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=) \
68 docs/asciidoc-git.conf \
73 docs/i3-sync-working.dia \
74 docs/i3-sync-working.png \
75 docs/keyboard-layer1.png \
76 docs/keyboard-layer2.png \
77 docs/layout-saving-1.png \
81 docs/refcard_style.css \
82 docs/single_terminal.png \
84 docs/tree-layout1.png \
85 docs/tree-layout2.png \
90 docs/two_columns.png \
91 docs/two_terminals.png \
96 $(asciidoc_MANS:.1=.man) \
97 $(asciidoc_MANS:.1=.man) \
98 man/asciidoc.conf.in \
104 generate-command-parser.pl \
105 parser-specs/commands.spec \
106 parser-specs/config.spec \
107 parser-specs/highlighting.vim \
109 testcases/complete-run.pl.in \
110 testcases/i3-test.config \
111 testcases/lib/i3test/Test.pm \
112 testcases/lib/i3test/Util.pm \
113 testcases/lib/i3test/XTEST.pm \
114 testcases/lib/i3test.pm.in \
115 testcases/lib/SocketActivation.pm \
116 testcases/lib/StartXServer.pm \
117 testcases/lib/StatusLine.pm \
118 testcases/lib/TestWorker.pm \
119 testcases/Makefile.PL \
121 testcases/restart-state.golden \
123 testcases/valgrind.supp
125 # dirstamps contains directories which we want to be created in $(top_builddir)
126 # so that our custom rules can store files in them.
132 DISTCLEANFILES = $(dirstamps)
135 @stamp='$@'; $(MKDIR_P) "$${stamp%/*}"
138 ################################################################################
140 ################################################################################
142 docs_tocdir = ${docdir}
143 docs_notocdir = ${docdir}
144 docs_poddir = ${docdir}
146 dist_docs_toc_DATA = \
147 docs/hacking-howto.html \
148 docs/userguide.html \
150 docs/multi-monitor.html \
152 docs/testsuite.html \
153 docs/i3bar-protocol.html \
154 docs/layout-saving.html
156 dist_docs_notoc_DATA = \
159 dist_docs_pod_DATA = \
160 docs/lib-i3test.html \
161 docs/lib-i3test-test.html
163 $(dist_docs_toc_DATA): docs/%.html: docs/% docs/$(dirstamp)
164 $(AM_V_GEN) @PATH_ASCIIDOC@ -a toc -n -o $@ $<
166 $(dist_docs_notoc_DATA): docs/%.html: docs/% docs/$(dirstamp)
167 $(AM_V_GEN) @PATH_ASCIIDOC@ -n -o $@ $<
169 docs/lib-i3test.html: testcases/lib/i3test.pm docs/$(dirstamp)
170 $(AM_V_GEN) $(top_srcdir)/docs/i3-pod2html $< $@
172 docs/lib-i3test-test.html: testcases/lib/i3test/Test.pm docs/$(dirstamp)
173 $(AM_V_GEN) $(top_srcdir)/docs/i3-pod2html $< $@
177 dist_docs_notoc_DATA =
181 ################################################################################
183 ################################################################################
196 man/i3-config-wizard.1 \
197 man/i3-migrate-config-to-v4.1 \
198 man/i3-sensible-editor.1 \
199 man/i3-sensible-pager.1 \
200 man/i3-sensible-terminal.1 \
204 man/i3-dmenu-desktop.1 \
207 $(asciidoc_MANS): man/%.1: man/%.xml man/$(dirstamp)
208 $(AM_V_GEN) out='$@'; @PATH_XMLTO@ man -o "$${out%/*}" $<
209 @stamp='$@'; $(MKDIR_P) "$${stamp%/*}"
211 man/%.xml: man/%.man man/asciidoc.conf man/$(dirstamp)
212 $(AM_V_GEN) @PATH_ASCIIDOC@ -d manpage -b docbook -f $(top_builddir)/man/asciidoc.conf -o $@ $<
214 $(pod_MANS): man/%.1: % man/$(dirstamp)
215 $(AM_V_GEN) @PATH_POD2MAN@ --utf8 $< > $@
221 -DSYSCONFDIR="\"$(sysconfdir)\"" \
222 -I$(top_builddir)/parser \
223 -I$(top_srcdir)/include \
224 @AX_EXTEND_SRCDIR_CPPFLAGS@
231 $(XCB_UTIL_CURSOR_CFLAGS) \
232 $(XCB_UTIL_KEYSYM_CFLAGS) \
233 $(XCB_UTIL_WM_CFLAGS) \
234 $(XCB_UTIL_XRM_CFLAGS) \
235 $(XKBCOMMON_CFLAGS) \
239 $(CODE_COVERAGE_CFLAGS)
243 $(CODE_COVERAGE_CPPFLAGS)
249 $(XCB_UTIL_CURSOR_LIBS) \
250 $(XCB_UTIL_KEYSYMS_LIBS) \
251 $(XCB_UTIL_WM_LIBS) \
252 $(XCB_UTIL_XRM_LIBS) \
258 $(CODE_COVERAGE_LDFLAGS)
264 $(XCB_UTIL_XRM_CFLAGS) \
269 $(top_builddir)/libi3.a \
272 $(XCB_UTIL_XRM_LIBS) \
283 libi3/fake_configure_notify.c \
285 libi3/format_placeholders.c \
286 libi3/get_colorpixel.c \
287 libi3/get_config_path.c \
288 libi3/get_exe_path.c \
289 libi3/get_mod_mask.c \
290 libi3/get_process_filename.c \
291 libi3/get_visualtype.c \
292 libi3/ipc_connect.c \
293 libi3/ipc_recv_message.c \
294 libi3/ipc_send_message.c \
295 libi3/is_debug_build.c \
297 libi3/resolve_tilde.c \
298 libi3/root_atom_contents.c \
299 libi3/safewrappers.c \
302 libi3/ucs2_conversion.c
304 i3_dump_log_i3_dump_log_CFLAGS = \
309 i3_dump_log_i3_dump_log_LDADD = \
313 i3_dump_log_i3_dump_log_SOURCES = \
316 i3_input_i3_input_CFLAGS = \
320 i3_input_i3_input_LDADD = \
322 $(XCB_UTIL_KEYSYMS_LIBS)
324 i3_input_i3_input_SOURCES = \
325 i3-input/i3-input.h \
326 i3-input/keysym2ucs.c \
327 i3-input/keysym2ucs.h \
330 i3_msg_i3_msg_CFLAGS = \
334 i3_msg_i3_msg_LDADD = \
337 i3_msg_i3_msg_SOURCES = \
340 i3_nagbar_i3_nagbar_CFLAGS = \
344 i3_nagbar_i3_nagbar_LDADD = \
346 $(XCB_UTIL_CURSOR_LIBS)
348 i3_nagbar_i3_nagbar_SOURCES = \
349 i3-nagbar/atoms.xmacro \
350 i3-nagbar/i3-nagbar.h \
353 i3bar_i3bar_CPPFLAGS = \
355 -I$(top_srcdir)/i3bar/include
357 i3bar_i3bar_CFLAGS = \
361 $(XKBCOMMON_CFLAGS) \
362 $(PANGOCAIRO_CFLAGS) \
365 i3bar_i3bar_LDADD = \
368 $(XCB_UTIL_CURSOR_LIBS) \
373 i3bar_i3bar_SOURCES = \
374 i3bar/include/child.h \
375 i3bar/include/common.h \
376 i3bar/include/configuration.h \
377 i3bar/include/ipc.h \
378 i3bar/include/mode.h \
379 i3bar/include/outputs.h \
380 i3bar/include/parse_json_header.h \
381 i3bar/include/trayclients.h \
382 i3bar/include/util.h \
383 i3bar/include/workspaces.h \
384 i3bar/include/xcb_atoms.def \
385 i3bar/include/xcb.h \
391 i3bar/src/outputs.c \
392 i3bar/src/parse_json_header.c \
393 i3bar/src/workspaces.c \
396 i3_config_wizard_i3_config_wizard_CFLAGS = \
401 i3_config_wizard_i3_config_wizard_LDADD = \
403 $(XCB_UTIL_KEYSYMS_LIBS) \
406 i3_config_wizard_i3_config_wizard_SOURCES = \
407 i3-config-wizard/atoms.xmacro \
408 i3-config-wizard/main.c \
409 i3-config-wizard/xcb.h
411 test_inject_randr15_CPPFLAGS = \
414 test_inject_randr15_CFLAGS = \
418 test_inject_randr15_SOURCES = \
419 testcases/inject_randr1.5.c
421 test_inject_randr15_LDADD = \
424 test_commands_parser_CPPFLAGS = \
428 test_commands_parser_CFLAGS = \
432 test_commands_parser_SOURCES = \
433 src/commands_parser.c
435 test_commands_parser_LDADD = \
438 test_config_parser_CPPFLAGS = \
442 test_config_parser_CFLAGS = \
446 test_config_parser_SOURCES = \
449 test_config_parser_LDADD = \
452 command_parser_SOURCES = \
453 parser/GENERATED_command_enums.h \
454 parser/GENERATED_command_tokens.h \
455 parser/GENERATED_command_call.h
457 config_parser_SOURCES = \
458 parser/GENERATED_config_enums.h \
459 parser/GENERATED_config_tokens.h \
460 parser/GENERATED_config_call.h
463 $(command_parser_SOURCES) \
464 $(config_parser_SOURCES) \
466 include/assignments.h \
467 include/atoms_NET_SUPPORTED.xmacro \
468 include/atoms_rest.xmacro \
469 include/atoms.xmacro \
474 include/commands_parser.h \
475 include/config_directives.h \
476 include/configuration.h \
477 include/config_parser.h \
480 include/display_version.h \
482 include/fake_outputs.h \
487 include/key_press.h \
488 include/load_layout.h \
500 include/restore_layout.h \
501 include/scratchpad.h \
502 include/sd-daemon.h \
504 include/sighandler.h \
509 include/workspace.h \
514 include/yajl_utils.h \
519 src/commands_parser.c \
522 src/config_directives.c \
523 src/config_parser.c \
524 src/display_version.c \
542 src/restore_layout.c \
557 ################################################################################
559 ################################################################################
561 $(command_parser_SOURCES): %.h: i3-command-parser.stamp
563 $(config_parser_SOURCES): %.h: i3-config-parser.stamp
565 src/i3-commands_parser.$(OBJEXT): i3-command-parser.stamp
567 src/i3-config_parser.$(OBJEXT): i3-config-parser.stamp
569 i3-command-parser.stamp: parser/$(dirstamp) generate-command-parser.pl parser-specs/commands.spec
570 $(AM_V_GEN) $(top_srcdir)/generate-command-parser.pl --input=$(top_srcdir)/parser-specs/commands.spec --prefix=command
571 $(AM_V_at) mv GENERATED_command_* $(top_builddir)/parser
574 i3-config-parser.stamp: parser/$(dirstamp) generate-command-parser.pl parser-specs/config.spec
575 $(AM_V_GEN) $(top_srcdir)/generate-command-parser.pl --input=$(top_srcdir)/parser-specs/config.spec --prefix=config
576 $(AM_V_at) mv GENERATED_config_* $(top_builddir)/parser
579 ################################################################################
580 # AnyEvent-I3 build process
581 ################################################################################
583 anyevent-i3.stamp: AnyEvent-I3/lib/AnyEvent/I3.pm
584 $(AM_V_BUILD) (cd $(top_srcdir)/AnyEvent-I3 && perl Makefile.PL && make)
588 i3-command-parser.stamp \
589 i3-config-parser.stamp \