Guile Really-Improved 3 Window Manager Fork of i3-wm with guile configuration
Go to file
Orestis Floros 6a37114af1
Makefile.am: Use BUILT_SOURCES for GENERATED headers (#4068)
The previous fix when using _DEPENDENCIES was wrong because that
dependency is only created for the final executable. However, the build
fails when building the object file. The manual explicitly mentions that
using _DEPENDENCIES is wrong for source files:
> In rare cases you may need to add other kinds of files such as linker
> scripts, but listing a source file in _DEPENDENCIES is wrong. If some
> source file needs to be built before all the components of a program
> are built, consider using the BUILT_SOURCES variable instead (see
> Sources).
https://www.gnu.org/software/automake/manual/automake.html#Linking

Instead, using BUILT_SOURCES works, as mentioned in the manual.
https://www.gnu.org/software/automake/manual/automake.html#Sources

I have also removed the dependencies from i3_SOURCES since AFAIK
dependencies to header files don't do anything. I have verified that
modifying the header correctly re-triggers the build for i3 &
i3-config-wizard.
> Header files listed in a _SOURCES definition will be included in the
> distribution but otherwise ignored. In case it isn’t obvious, you
> should not include the header file generated by configure in a
> _SOURCES variable; this file should not be distributed. Lex (.l) and
> Yacc (.y) files can also be listed; see Yacc and Lex.
https://www.gnu.org/software/automake/manual/automake.html#Program-Sources

An alternative instead of BUILT_SOURCES that should also work in our
case is found in this section:
https://www.gnu.org/software/automake/manual/automake.html#Built-Sources-Example
see "Recording Dependencies manually". The syntax would be:
    foo.$(OBJEXT): $(config_parser_SOURCES) $(command_parser_SOURCES)
The benefit of this over BUILT_SOURCES is that it will work for targets
other than 'all', 'check' and 'install'. However, since we don't really
have such targets we don't need to do this right now.

Tested extensively using this script:
    #!/bin/bash
    set -x

    autoreconf -fi
    while mkdir build && cd build && ../configure && make -j; do
        cd ..
        rm -rf build
    done

Fixes #3670
2020-05-05 18:13:19 +02:00
.github Merge pull request #4050 from orestisfl/config-details-bug-template 2020-05-01 09:40:46 +02:00
AnyEvent-I3 introduce the sync IPC command 2018-03-30 21:09:52 +02:00
contrib dump-asy.pl: Include floating_nodes 2018-09-14 14:05:51 +03:00
debian Update debian/changelog 2020-04-22 09:24:59 +02:00
docs Extend tiling/floating criteria with optional auto/user values (#4006) 2020-04-12 13:49:08 +02:00
etc Merge pull request #3747 from stapelberg/default-config-numbers 2019-08-28 08:58:44 +02:00
i3-config-wizard Remove some includes from all.h 2020-04-20 05:54:17 +02:00
i3-dump-log Remove unused headers 2020-04-20 04:25:06 +02:00
i3-input Remove unused headers 2020-04-20 04:25:06 +02:00
i3-msg Remove unused headers 2020-04-20 04:25:06 +02:00
i3-nagbar Remove some includes from all.h 2020-04-20 05:54:17 +02:00
i3bar Call cont_child() more liberally (#3996) 2020-04-22 08:55:41 +02:00
include placeholder_t: Make char*s const 2020-05-01 01:13:12 +02:00
libi3 Fix #ifndef statements: HAVE_ variables are all upper case 2020-04-30 18:20:51 +02:00
m4 fix lcov support 2019-09-01 19:19:12 +02:00
man Add proper return code for i3-msg 2019-02-21 19:52:55 +00:00
parser-specs Extend tiling/floating criteria with optional auto/user values (#4006) 2020-04-12 13:49:08 +02:00
share Move/rename config files/.desktop files into subdirs 2016-10-23 21:09:24 +02:00
src Merge pull request #3969 from ghost/patch-1 2020-05-01 09:47:25 +02:00
testcases Merge pull request #4041 from orestisfl/floating_enable-bool 2020-04-30 09:04:22 +02:00
travis travis: Dockerfile: Add build-essential (#4065) 2020-05-05 17:37:32 +02:00
.clang-format clang-format: bring back ForeachMacros (#3948) 2020-02-19 11:31:09 +01:00
.editorconfig Add .editorconfig (see editorconfig.org) (#2943) 2017-09-13 18:38:27 +02:00
.gitignore Add files generated by make check in AnyEvent-I3/ to .gitignore (#2915) 2017-09-09 14:47:32 +02:00
.travis.yml Travis: Default to -fno-common 2020-02-01 17:41:19 +01:00
DEPENDS Fix DEPENDS table 2018-05-01 13:49:55 +03:00
I3_VERSION Set non-git version to 4.18.1-non-git. 2020-04-22 09:21:15 +02:00
LICENSE Remove copyright year range from License 2016-01-17 16:25:54 +05:30
Makefile.am Makefile.am: Use BUILT_SOURCES for GENERATED headers (#4068) 2020-05-05 18:13:19 +02:00
PACKAGE-MAINTAINER Update PACKAGE-MAINTAINER’s compilation instructions 2016-10-23 21:09:24 +02:00
README.md Update badges in README 2018-10-26 09:58:04 -07:00
RELEASE-NOTES-next Makefile.am: Use BUILT_SOURCES for GENERATED headers (#4068) 2020-05-05 18:13:19 +02:00
configure.ac release i3 4.18.1 2020-04-22 09:21:08 +02:00
generate-command-parser.pl generate-command-parser: Add '#pragma once' 2020-04-20 04:25:45 +02:00
i3-dmenu-desktop i3-dmenu-desktop: Support symlinks 2020-04-11 22:57:29 +02:00
i3-migrate-config-to-v4 Remove dead documentation for non-existing feature "stack-limit". 2015-06-09 23:13:15 +02:00
i3-save-tree i3-save-tree: Exclude unsupported "transient_for" property 2018-09-12 14:13:56 +03:00
i3-sensible-editor Added gVim to i3-sensible-editor 2018-02-19 15:39:46 +01:00
i3-sensible-pager Quote the variables in i3-sensible-* correctly 2015-11-30 21:36:23 +00:00
i3-sensible-terminal enhancement: adds hyper as a sensible terminal option 2018-08-01 08:21:44 -05:00
logo.svg s/i3.zekjur.net/i3wm.org/g 2011-08-28 17:44:42 +02:00
pseudo-doc.doxygen Replace http:// with https:// where applicable 2017-09-24 10:19:07 +02:00
release.sh release.sh: update versions 2020-04-22 09:33:11 +02:00

README.md

Logo i3: A tiling window manager

Build Status Issue Stats Pull Request Stats

i3 is a tiling window manager for X11.

For more information about i3, please see the project's website and online documentation.

For information about contributing to i3, please see CONTRIBUTING.md.