In a Makefile.am file I saw the following entry:

EXTRA_DIST = bootstrap \
    ChangeLog \
    config/config.rpath \
    m4/ax_pthread.m4 \
    m4/iconv.m4 \

and I wanted to find out what it means, but the documentation doesn't seem to define what "distribution" actually means.

It doesn't mean "compiled lib", does it? It's a source code distribution of some sort? (why would anyone need that? We can just use git or zip the root folder?)

Hope someone can clarify.

2 Answers 2


In the documentation,

The dist rule in the generated Makefile.in can be used to generate a gzipped tar file and/or other flavors of archives for distribution.

“for distribution” refers to the act of distributing.

The goal is to produce a dist target in the generated Makefiles, so that the project maintainer can run

make dist

and get an archive appropriate for publication, i.e. a source archive with various added files so that end-users (or end-builders) don’t need to run the full Autoconf process and can just start with the usual ./configure && make.

EXTRA_DIST lists files which wouldn’t normally be included in these archives, so that they are shipped as well.

The underlying concept is that a project’s source code, for the maintainer, is the source code as expected by Autoconf/Automake/etc. But that’s not immediately useful for most people expecting to compile the project from source. So the project maintainer doesn’t distribute the “raw” source code when publishing a release, they distribute a “distribution archive” containing the generated configure script and the various supporting tools.


The type of « distributions » are here https://www.gnu.org/software/automake/manual/html_node/The-Types-of-Distributions.html

Just files like a tar.gz .zip, etc. The idea is that if you modify the source, you can easily build the tar.gz with only the sources like you get from Internet. These files only contains sources, even Makefiles are absent since they should be created by ./configure.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .